当主目录与 NFS 共享时设置无密码 ssh

当主目录与 NFS 共享时设置无密码 ssh

我有两个节点(主节点和从节点),其中主节点的主目录通过 NFS 与从节点共享。我创建了一个 ssh 密钥,并使用“ssh-copy-id”将公钥添加到“authorized_keys”。

无密码 ssh 可以从从属设备到主设备工作,但不能从主设备到从属设备工作,因为我收到“代理承认使用密钥签名失败”的消息。

我认为这可能是文件权限问题,但由于 ~/.ssh 文件夹是使用 NFS 共享的,因此这很棘手。有什么想法吗?

答案1

如果您启用了 SELinux,则可能必须通过以下方式启用 NFS 挂载的主目录:

setsebool -P use_nfs_home_dirs=true

我在 RHEL 上遇到了这个问题,并在 /var/log/messages 中找到了解决方案:

SELinux 正在阻止 /usr/sbin/sshd 对文件 authorized_keys 的读取访问。#012#012***** 插件 catchall_boolean(89.3 置信度)建议
******************#012#012如果您想要允许使用 nfs 主目录#012那么您必须通过启用“use_nfs_home_dirs”布尔值来告知 SELinux。#012您可以阅读“无”手册页了解更多详细信息。#012执行#012setsebool -P use_nfs_home_dirs 1#012#012*****

答案2

您是在主服务器还是从服务器中生成密钥?请在主服务器和从服务器上尝试此操作:

chmod go-w $HOME $HOME/.ssh
sudo chmod 600 $HOME/.ssh/authorized_keys
sudo chown 'username' $HOME/.ssh/authorized_keys

“username” 是您需要启用 ssh 的用户的名称。

如果上述方法无效,请尝试以下方法:

ssh-copy-id -i ~/.ssh/id_rsa.pub [email protected]

从从属输入该命令。

相关内容