我遇到了一个相当小众的问题,它可以解决其他人可能遇到的问题,但却无法解决;
系统:
- OpenSSH
- Rhel 7
- NFS主目录mount
如果您正在使用NFS主目录挂载,那么您需要启用一个SELinux设置,以允许使用公钥进行SSH。
启用该功能的命令如下:setsebool -P use_nfs_home_dirs 1
此更改为持久化,因此无需担心每次重新启动时都必须执行此操作。
如果在SELinux中不启用此设置,当您SSH时,该命令将无法获得读取authorized_keys
文件的访问权限,从而导致公钥身份验证失败。
查看此问题的一个简单方法是在服务器上运行journalctl -f
,然后尝试使用公钥SSH。您将看到一个错误说SELinux is preventing /usr/sbin/sshd from reading ~/.ssh/authorized_keys
。
我希望这能让别人不像我一样头疼。
启用NFS主目录的命令:setsebool -P use_nfs_home_dirs 1