前言
使用VScode进行远程服务器代码调试时,每次都要输入密码,很麻烦,有木有?
之前的操作请看: 【安装并使用VScode进行远程服务器代码调试及遇到的问题和解决办法】
一、打开终端
登录上之后,创建一个新的终端。
二、创建公钥和私钥
命令如下:
ssh-keygen
然后一直回车,不要输入任何内容,直到命令行输出以下信息:
红色圈起来的部分是密钥生成的位置。
最后找到这个文件夹,使用【cat】命令,用公钥文件来生成 authorized_keys。
用【ls】命令查看有三个文件。
其中id_rsa.pub是公钥,id_rsa是私钥。
cd /home/pt/.ssh
cat id_rsa.pub >> authorized_keys
三、修改vscode的config file
将私钥(id_rsa)从服务器拷贝下来,放在本地。
加入 IdentityFile 和对应的私钥路径(也就是私钥在本机的所在位置)。
四、出现的问题及解决办法
使用SSH登录服务器时,出现 WARNING: UNPROTECTED PRIVATE KEY FILE! 提示,其原因是密钥文件权限太开放,SSH要求密钥文件不能被其他用户访问。
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@ WARNING: UNPROTECTED PRIVATE KEY FILE! @
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
Permissions for 'C:\\Users\\HP\\.ssh\\id_rsa' are too open.
It is required that your private key files are NOT accessible by others.
This private key will be ignored.
Load key "C:\\Users\\HP\\.ssh\\id_rsa": bad permissions
xxxx@xx.xx.xx.xx: Permission denied (publickey).
Linux解决方法:
使用chmod 700 filename改变文件权限。
Windows解决方法:
打开文件【属性】【安全】【高级】,修改文件所有者为当前用户,并【禁用继承】,删除其他主体权限。
最后重启VScode登录服务器,不需要输入密码即可进入~~~
完美~