做者 : Jeannnettehtml
引言: 首先在平常使用Linux中,确定遇到不少须要远程编辑linux上面的文件的场景,虽然能够很方便的使用svn服务器/git服务器之类,可是为了有时候更便捷的使用,我仍是想直接使用vscode进行编辑文件linux
Let's Go, Get it !git
完成后图以下: (能够在线编辑)远程Linux系统文件, 很是适合须要及时更改远程服务器shell
步骤以下windows
第一个 (官网):http://www.openssh.com/portable.html#http
第二个(其它): https://openssh.en.softonic.com/
复制代码
1. 找到你安装的目录 \bin 目录
2. 例如: F:\DEVLOP\openSSH\bin
3. 将\bin目录添加到环境变量
4. 个人电脑右击属性 - 高级系统设置 - 高级 - 环境变量
复制代码
%USERPROFILE%\.ssh\
HostName : linux服务器 ip 地址安全
User: 用户名bash
IdentityFile: ~/.ssh/id_rsa-remote-ssh #服务器
这个讲是第二种配置方式须要添加的,若是使用第一种方式不须要添加这个指定的文件ssh
配置SSH密钥svn
检查本地计算机上是否已有SSH密钥(非对称加密)。window公钥一般位于路径: %USERPROFILE%\.ssh\
,若是没有发现id_rsa.pub
文件, 表明本地没有生成过SSH秘钥,使用如下命令:
ssh-keygen -t rsa -b 4096
# 只须要一直回车就能生成到 %USERPROFILE%\.ssh\ 目录下
复制代码
在Windows上,在本地命令提示符中运行如下命令,替换REMOTEHOST的两个值[your-user-name-on-host]和[host-fqdn-or-ip-goes-here]
SET REMOTEHOST=[your-user-name-on-host]@[host-fqdn-or-ip-goes-here]
scp %USERPROFILE%\.ssh\id_rsa.pub %REMOTEHOST%:~/tmp.pub
ssh %REMOTEHOST% "mkdir -p ~/.ssh && chmod 700 ~/.ssh && cat ~/tmp.pub >> ~/.ssh/authorized_keys && chmod 600 ~/.ssh/authorized_keys && rm -f ~/tmp.pub"
# PS:
# your-user-name-on-host: 你的主机用户名
# host-fqdn-or-ip-goes-here:你的主机ip
复制代码
若是以上命令出现问题,那么直接手动把目录 %USERPROFILE%\.ssh\id_rsa.pub
的 公钥内容 复制到 linux下 /[用户名]/.ssh/authorized_keys
文件里面进行保存
虽然在全部SSH主机上使用单个SSH密钥能够很方便,但若是有人能够访问您的私钥,他们也能够访问全部主机。您能够经过为开发主机建立单独的SSH密钥来防止这种状况。只需按如下步骤操做
在另外一个文件中生成单独的SSH密钥。
ssh-keygen -t rsa -b 4096 -f %USERPROFILE%\.ssh\id_rsa-remote-ssh
复制代码
在VS Code中,运行Remote-SSH:打开配置文件...在命令选项板(F1)中,选择SSH配置文件,而后添加(或修改)主机条目,以下所示:(其实这个就是一个配置文件, 在基础配置中的方式打开同样的)
Host name-of-ssh-host-here
User your-user-name-on-host
HostName host-fqdn-or-ip-goes-here
IdentityFile ~/.ssh/id_rsa-remote-ssh
复制代码
SET REMOTEHOST=name-of-ssh-host-here
SET PATHOFIDENTITYFILE=%USERPROFILE%\.ssh\id_rsa-remote-ssh.pub
scp %PATHOFIDENTITYFILE% %REMOTEHOST%:~/tmp.pub
ssh %REMOTEHOST% "mkdir -p ~/.ssh && chmod 700 ~/.ssh && cat ~/tmp.pub >> ~/.ssh/authorized_keys && chmod 600 ~/.ssh/authorized_keys && rm -f ~/tmp.pub"
复制代码
而后就能添加小目录到指定 linux 下的文件,而且经过ssh链接,进行在线的编辑代码或者是文档了
error: An SSH installation couldn't be found
这个报错一般是由于,vscode没有指定好相应的路径好, 须要到
Settings --> Remote.SSH.Path
进行指定OpenSSH的路径