配置免密登录后依然提示需要密码
1. authorized_keys
文件的权限或内容问题
确保公钥正确地添加到远程用户的 ~/.ssh/authorized_keys
文件中,并且文件权限正确。如果文件或目录的权限不正确,SSH 服务可能会忽略该文件。
检查和设置权限:
# 确保 .ssh 目录权限正确
chmod 700 ~/.ssh
# 确保 authorized_keys 文件权限正确
chmod 600 ~/.ssh/authorized_keys
检查 authorized_keys
文件内容:
- 确保公钥在
authorized_keys
文件中没有换行、额外的空格或其他错误字符。 - 如果你粘贴了多个公钥,确保每个公钥都在新的一行。
2. sshd_config
配置文件问题
sshd_config
文件的配置项可能不正确。即使你修改了配置,可能并未正确保存或重启了 SSH 服务。
确保以下配置项正确:
PubkeyAuthentication
必须设置为yes
。PasswordAuthentication
必须设置为no
(如果希望禁用密码登录)。- 确保没有其他配置冲突。
打开 sshd_config
文件并确认:
sudo vi /etc/ssh/sshd_config
查找并确保以下行被正确设置:
PubkeyAuthentication yes
PasswordAuthentication no #除非公钥能使用,否则不要设置这个
重启 SSH 服务:
由于修改了 SSH 配置,必须重启 SSH 服务使其生效:
sudo systemctl restart sshd
评论区