最近尝试使用VS Code远程连接服务器时,发现非常香。调试代码与结果查看非常方便,而且可以dubug代码,不用每次都是print来查看错误信息。但是在使用VS Code时总是需要输入密码,更有甚者有时需要输入3次密码,非常令人烦恼,所以最近探索了使用公钥私钥的方式来告别密码输入,具体解决方案如下:
本机即windows端:
-
生成公钥和私钥
ssh-keygen -t rsa -b 4096
在输入以上指令后根据提示需要输入三次enter。 -
进入
C:\User\用户名/.ssh
此处为C:\User\20202/.ssh
目录可以看到生成了id_rsa和id_rsa.pub两个文件
服务器即ubuntu端:
cd ~/.ssh
并将刚才生成的两个文件上传到该文件夹中cat id_rsa.pub >> authorized_keys
- ls 确保生成了authorized_keys文件
sudo chmod 600 authorized_keys
修改authorized_keys文件权限sudo chmod 700 ~/.ssh
修改~/.ssh文件夹权限- 打开SSH配置文件
sudo vim /etc/ssh/sshd_config
- 并确保如下两项是正确的
RSAAuthentication yes
PubkeyAuthentication yes
事实上在另外尝试时发现没有这两项也是能够成功的,而且/etc
下的文件输入系统文件,非必要最好不要轻易修改。
-
重启SSH便大功告成
sudo service sshd restart
-
使用VS Code连接远程服务器,查看是否还需要输入密码。
此处笔者直接点击连接便出现了打开文件夹的界面,无须在繁琐地输入密码啦。