首先要激活本机的ssh
生成公钥(id_rsa.pub)和私钥(id_rsa)
(上两个密钥文件一般在C;\Users\用户\.ssh 下)
然后将公钥(id_rsa.pub)拷贝到远程服务器的用户下的.ssh文件下(.ssh一般是隐藏的,使用指令la可见)
cd .ssh
cat id_rsa.pub >> authorized_keys
即可免密登陆
(本质是将本机公钥的内容放在了远程服务器的authorized_keys 这个文本文件中)
(同理,可以放多个计算机的公钥,换行复制公钥内容到authorized_keys就行)
VScode中似乎还需要在配置文件中添加IdentityFile
即远程资源管理器的配置文件config中,在User下面添加一行
IdentityFile "C:\Users\Lenovo\.ssh\id_rsa"
(注意是本机私钥路径)
用windows作为服务端时,放置公钥部分同上,只需调整一下配置文件就可
路径切换C:\ProgramData\ssh , 打开 sshd_config 文件
确保以下3条没有被注释
PubkeyAuthentication yes
AuthorizedKeysFile .ssh/authorized_keys
PasswordAuthentication no
确保以下2条有注释掉
#Match Group administrators
# AuthorizedKeysFile __PROGRAMDATA__/ssh/administrators_authorized_keys