1、本地生成秘钥
命令行输入 ssh-keygen 一直回车即可
2、vscode配置
host:连接名 随便取即可
HostName:服务器IP
User:用户名
Port:端口
IdentityFile:本地私钥文件
3、服务器配置
将本地生成的 id_rsa.pub 文件上传至服务器 ~/.shh/目录下,并重名名为authorized_keys
4、重启服务器的sshd服务(最好以下三条命令都执行一次)
systemctl restart sshd 重启sshd服务
systemctl reload sshd 使系统重新加载sshd服务配置
service sshd restart
一般到这里重启vscode,即可实现免密登录了
------------------------------------------------------------分割线------------------------------------------------------------
如果出现还是需要输入密码的情况,可以检查以下点
1、目录权限问题
chmod 755 ~
chmod 700 ~/.ssh
chmod 600 ~/.ssh/authorized_keys
2、检查服务器的 /etc/ssh/sshd_config 文件
#AuthorizedKeysFile .ssh/authorized_keys 取消该注释
PasswordAuthentication no|yes 关闭或开启ssh的默认认证方式(关闭后就算客户端有秘钥 也需要密码才能连接远程主机)
PermitRootLogin no|yes 开启或关闭root用户的登陆权限
Allowusers westos 用户白名单,当前设定是只允许westos登陆
DenyUsers linux 用户黑名单,当前设定是只不允许linux登陆