VScodeSSH免密登录服务器
背景
我想要让VScode实现SSH免密登录服务器,那么就需要使用ssh keygen 生成的公私钥对,公钥id_rsa.pub
放在服务器上,私钥id_rsa
放在本机上,但是我服务器和本机各自与github生成了公私钥对用于仓库同步,再加上本人知识有点浅薄,计网都忘完了,那么想尝试一下用与github交互的公私钥对能不能用作VScode SSH连接时的验证。
过程
本机
按照参考链接,首先在本机生成自己的公私钥对,由于我已经有了ssh keygen生成的公私钥对,就不再重新生成,不然还要去更改github的配置,这里只放上生成命令和效果
ssh-keygen -t rsa -C "username"
由于github交互按照网上博客都配置成github账号邮箱,所以我公钥末尾的username是我的邮箱,但是根据下文也可以用到VScode SSH免密验证上,所以就VScode SSH免密验证来说,username应该可以随便填。
不加-C "username"
和 -t rsa
也行,然后一路yes,就可以在.ssh目录下看到公私钥对了
- win用户在
C:\Users\xxx\.ssh
下(xxx
是win用户的用户名)- linux用户在
~/.ssh
目录下(开头有.
是隐藏目录或文件,用ll
命令查看到
服务器
之后,在服务器上的.ssh
目录下创建authorized_keys
文件,并写入自己本机生成的公钥文件**is_rsa.pub**
中的内容
VScode
最后,VScode中插件Remote-SSH
或者Remtoe development
插件的按照和config
的配置我就不再赘述了,具体可在网上搜索和参考参考链接。这里需要在config
中服务器的SSH连接配置中新加一个属性IdentityFile
,属性值为本机私钥的路径,例如本机是win用户的话则如下:
Host xxx // 给连接起个名字
HostName xxx // IP地址
User xxx // 自己的用户名
IdentityFile ~/.ssh/id_rsa // 私钥路径(win上用户主目录也能用~表示)
结论:配置成功,可以免密登录,OKK😎
挖个坑,了解一下SSH 公私钥对的原理,但是在我的记忆中,与username无关确实合理