通过 VSCode 远程连接服务器时,每次目录切换或者连接远程服务器实在是太麻烦了,而通过搭建密钥连接便能够避免每次登录时都输入密码,同时相比密码登录更加安全。
话不多说,关于密钥连接的原理网上有很多介绍的文章,这里我们就不过多赘述原理了。直入主题:
创建公钥和私钥
在这一步你需要通过 OpenSSL 之类的工具去生成公钥和私钥
ssh-keygen -q -b 2048 -P "" -f /Users/<localuser>/.ssh/keys/<myhost>_rsa -t rsa
然后,把私钥(<myhost>_rsa)存放在你本地的 .ssh 文件夹
公钥(<myhost>_rsa.pub)存放在你的服务器上
在服务器的授权密钥中添加刚创建的公钥
在你的服务器上会有一个文件存放公钥列表,也就是下面的文件
<remoteuserhome>/.ssh/authorized_keys
如果这个文件已经存在了,那么只要把你的公钥 <myhost>_rsa.pub 的内容添加到文件的末尾即可
如果这个文件不存在,那你就需要创建这个文件并将 <myhost>_rsa.pub 的内容复制到这个文件中
编辑本地 ssh 配置信息
编辑:
/Users/<localuser>/.ssh/config
添加:
Host <myhost>
HostName <myhost>
User <remoteuser>
Port 22
PreferredAuthentications publickey
IdentityFile "/Users/<localuser>/.ssh/<myhost>_rsa"
做完这一切后,你就能够直接通过下面的命令连接服务器而不需要输入密码了
ssh <remoteuser>@<myhost>