windows下配置VSCode免密SSH连接Linux机器

先决条件

  • Windows下安装openssh软件(win10自带,可以不用搞)
    从官网下载最新版本默认安装即可
  • VSCode安装插件
    VSCode官方市场获取两个插件:“Remote - SSH”、 “Remote - SSH: Editing Configuration Files”
    ps:装第一个插件,会自动安装第二个插件
  • Linux机器最好能访问互联网,因为通过VSCode连接到Linux的机器后,会自动在Linux的机器上安装相关插件,不然很多功能还用不了的,或者需要手工安装,比较的麻烦。

配置免密登录

  1. winows 下用ssh-keygen 生成公钥和秘钥
    使用命令 ssh-keygen.exe -t rsa (可以一路Enter)

  2. 将公钥发送到服务器

    • 网上的一种说法是使用ssh-copy-id命令,比较简单,但我的机器上没有这个命令。
      ssh-copy-id -i .ssh/id_rsa.pub user@192.168.1.110,此时会要求输一次服务器密码
    • 如果上面的命令不可用,可以手工拷贝。
      将“C:Users{你的用户名}.sshid_rsa.pub”中的内容复制到Linux机器的“~/.ssh/authorized_keys”文件中

重要的一些补充:

  1. linux机器上如果是自己创建的authorized_keys文件,权限要通过chmod设置为600

    chmod 600 authorized_keys
    
  2. Linux里用于登录ssh的用户的家目录,权限必须为700

  3. window下的私钥文件id_rsa,如果登录时VSCode提示文件权限太高了,则要在文件属性里取消其他用户(实测主要是去掉everyone和none)对他的访问权限。

VSCode连接

  1. 点击左右下角的SSH连接图标

  2. 选择“open SSH configuration file”,增加自己的Linux服务器信息
    示例如下:

    Host 172.20.0.88
      HostName 172.20.0.88
      User test
    
  3. 重新点击左右下角的SSH连接图标,选择“connect to host”

  4. 首次连接,输入Linux机器密码后,后续可以免密登录

其他

如果自动登录过程还有其他问题,可以尝试跟踪系统secure日志定位解决。

sudo tail -f /var/log/secure
原文地址:https://www.cnblogs.com/joyer/p/15305626.html