对于我们的网络,我们完全通过OpenLDAP管理用户,并且使用NFS从中央服务器安装主目录。服务器A是主服务器,它是/ home本地存在的地方,它运行OpenLDAP服务器。服务器B安装了这个,用户可以使用SSH密钥登录。用户也可以使用服务器A上的SSH密钥登录。
服务器C的设置方式与服务器B完全相同。用户可以使用OpenLDAP创建的凭据ssh登录,并正确挂载/ home。但是,他们无法使用他们的ssh密钥。他们需要提交密码。
在服务器B和C之间,几乎所有配置文件都是相同的。所有服务器都运行CentOS7,并且具有相同的/etc/nsswitch.conf,/ etc / ssh / sshd_config,/ etc / nslcd.conf,system-auth和sshd PAM文件。
知道这个问题可能存在吗?
修改
SSH上的详细输出在服务器B上如下所示:
debug1: Offering RSA public key: /home/me/.ssh/id_rsa
debug3: send_pubkey_test
debug2: we sent a publickey packet, wait for reply
debug1: Server accepts key: pkalg ssh-rsa blen 279
但是在C上,同一部分的输出没有给出关键的答复:
debug1: Offering RSA public key: /home/me/.ssh/id_rsa
debug3: send_pubkey_test
debug2: we sent a publickey packet, wait for reply
debug1: Authentications that can continue: publickey,gssapi-keyex,gssapi-with-mic,password
为了进一步增加奇怪性,尝试使用C上的详细标志手动启动sshd。它似乎只发生在systemd自动化的时候。
答案 0 :(得分:1)
看起来问题是SELinux。如果有人遇到同样的问题,以下主题非常有帮助。
https://serverfault.com/questions/321534/public-key-authentication-fails-only-when-sshd-is-daemon