【总结】解决linux 配置authorized_keys 免密,登录时还是要求输入密码
warning:
这篇文章距离上次修改已过190天,其中的内容可能已经有所变动。
如果你已经正确设置了SSH公钥认证(即配置了authorized_keys
文件),但在尝试免密码登录时仍然需要输入密码,可能的原因和解决方法如下:
SSHD配置问题:确保SSH服务的配置文件
/etc/ssh/sshd_config
中以下设置是正确的:PubkeyAuthentication
设置为yes
AuthorizedKeysFile
设置为正确的%h/.ssh/authorized_keys
路径
解决方法:修改配置文件,然后重启SSH服务。
权限问题:确保用户的家目录和
.ssh
目录权限是正确的,通常.ssh
目录的权限应该是700,而authorized_keys
文件的权限应该是600。解决方法:修改权限,通常如下命令:
chmod 700 ~/.ssh chmod 600 ~/.ssh/authorized_keys
SELinux安全上下文问题:如果系统启用了SELinux,可能会阻止SSH公钥认证。
解决方法:检查并调整相关文件的SELinux上下文。
- 使用错误的私钥:确保你用来登录的私钥与
authorized_keys
文件中的公钥相匹配。 - SSH客户端问题:确保你使用的SSH客户端支持公钥认证,并且正确配置了。
用户主目录问题:有时候用户的主目录权限或者其他属性可能会导致SSH认证失败。
解决方法:检查并修复用户主目录的权限和属性。
SSH版本问题:如果你使用的是较旧的SSH版本,可能存在已知的公钥认证问题。
解决方法:升级到最新的SSH版本。
如果以上方法都不能解决问题,请提供更详细的错误信息,以便进一步诊断。
评论已关闭