windows vscode配置remote插件ssh远程链接linux编辑文件

做者 : Jeannnettehtml

引言: 首先在平常使用Linux中,确定遇到不少须要远程编辑linux上面的文件的场景,虽然能够很方便的使用svn服务器/git服务器之类,可是为了有时候更便捷的使用,我仍是想直接使用vscode进行编辑文件linux

Let's Go, Get it !git

完成后图以下: (能够在线编辑)远程Linux系统文件, 很是适合须要及时更改远程服务器shell

基础配置

步骤以下windows

  1. 安装,OpenSSH,建议去官网安装 我提供以下路径:
第一个 (官网):http://www.openssh.com/portable.html#http
第二个(其它): https://openssh.en.softonic.com/
复制代码
  1. 当安装完成后-若是是win10须要把当前安装目录添加至系统环境变量
1. 找到你安装的目录 \bin 目录
2. 例如: F:\DEVLOP\openSSH\bin
3. 将\bin目录添加到环境变量
4. 个人电脑右击属性 - 高级系统设置 - 高级 - 环境变量 
复制代码

  1. 安装vscode须要的插件,大概须要添加一下这些内容

  1. 安装完成以后会发现vscode里面会多出一个小图标

  1. 点击其中的设置图标,进入到配置文件,默认配置文件会安装在windows系统生成秘钥的地方 %USERPROFILE%\.ssh\

HostName : linux服务器 ip 地址安全

User: 用户名bash

IdentityFile: ~/.ssh/id_rsa-remote-ssh #服务器

这个讲是第二种配置方式须要添加的,若是使用第一种方式不须要添加这个指定的文件ssh

  1. 添加以后当打开powershell管理员 模式下 进行生成公钥与私钥

第一种实现方式:

  1. 配置SSH密钥svn

    检查本地计算机上是否已有SSH密钥(非对称加密)。window公钥一般位于路径: %USERPROFILE%\.ssh\ ,若是没有发现id_rsa.pub 文件, 表明本地没有生成过SSH秘钥,使用如下命令:

    ssh-keygen -t rsa -b 4096
    # 只须要一直回车就能生成到 %USERPROFILE%\.ssh\ 目录下
    复制代码
  2. 在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密钥来防止这种状况。只需按如下步骤操做

  1. 在另外一个文件中生成单独的SSH密钥。

    ssh-keygen -t rsa -b 4096 -f %USERPROFILE%\.ssh\id_rsa-remote-ssh
    复制代码
  2. 在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   
    复制代码
    1. 在Windows上,在本地命令提示符中运行如下命令,替换name-of-ssh-host-here为步骤2中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的路径

相关文章
相关标签/搜索