先决条件
- Windows下安装openssh软件(win10自带,可以不用搞)
从官网下载最新版本默认安装即可 - VSCode安装插件
VSCode官方市场获取两个插件:“Remote - SSH”、 “Remote - SSH: Editing Configuration Files”
ps:装第一个插件,会自动安装第二个插件 - Linux机器最好能访问互联网,因为通过VSCode连接到Linux的机器后,会自动在Linux的机器上安装相关插件,不然很多功能还用不了的,或者需要手工安装,比较的麻烦。
配置免密登录
-
winows 下用ssh-keygen 生成公钥和秘钥
使用命令 ssh-keygen.exe -t rsa (可以一路Enter) -
将公钥发送到服务器
- 网上的一种说法是使用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”文件中
- 网上的一种说法是使用ssh-copy-id命令,比较简单,但我的机器上没有这个命令。
重要的一些补充:
-
linux机器上如果是自己创建的authorized_keys文件,权限要通过chmod设置为600
chmod 600 authorized_keys
-
Linux里用于登录ssh的用户的家目录,权限必须为700
-
window下的私钥文件id_rsa,如果登录时VSCode提示文件权限太高了,则要在文件属性里取消其他用户(实测主要是去掉everyone和none)对他的访问权限。
VSCode连接
-
点击左右下角的SSH连接图标
-
选择“open SSH configuration file”,增加自己的Linux服务器信息
示例如下:Host 172.20.0.88 HostName 172.20.0.88 User test
-
重新点击左右下角的SSH连接图标,选择“connect to host”
-
首次连接,输入Linux机器密码后,后续可以免密登录
其他
如果自动登录过程还有其他问题,可以尝试跟踪系统secure日志定位解决。
sudo tail -f /var/log/secure