Windows环境搭建vscode的方法网上有很多,随便找一个就行。
我在搭建的时候,遇到了无法启用密钥登录,只能用密码登录的问题,记录如下:
1、环境
本地系统:Windows 10
服务器系统 Ubuntu 20.04.3 LTS
2、现象:
2.1、在配置了vscode远程开发需要的config文件中的 “IdentityFile” 字段后,vscode每次连接远程服务器的时候,还要手动输入密码。
config文件如下:
Host ubuntu
HostName 192.168.43.123
User yuexiazhufeng
Port 22
IdentityFile "C:\Users\86183\.ssh\id_rsa"
2.2、尝试在git环境,直接执行远程登录指令,如下:
ssh ubuntu
此时,是可以正常登录的。
登录日志如下:
根据这个看,密钥应该没有问题,整个链路是通的。
2.3、修改vscode中ssh路径,统一成和git中一样,也不行。
考虑到vscode中用的ssh和git中用的ssh不同,修改了vscode中的ssh路径统一成和git中的一致,依然不行。如下:
3、解决方法
使用windows自带的dos命令行,用"ssh-keygen"重新生成一份密码对,将公钥传到服务器,此时,vscode就可以不要输入密码,直接免密登录了。生成密钥的命令如下:
ssh-keygen -t rsa -C "chiri1218@126.com"
4、总结
没太搞明白具体原因是什么,只能推测是,windows自带的ssh可能和Linux环境的ssh行为不一致,且之前在vscode中配置的ssh路径没有生效。