我正在尝试使用 CentOS 7.3 服务器和客户端设置 IPA 环境,但遇到了无法理解的行为。我使用的是 IPA 版本 4.4.0。
我能够ipa-server-install
在服务器和ipa-client-install
客户端上运行,没有任何问题。然后,我foo
在现有用户之外添加了一个新用户admin
,该用户由 IPA 自动设置,用于管理目的。
现在来看看奇怪的部分:
我能够为kinit <user>
和admin
获得Kerberos 票证foo
,在客户端计算机上也是如此。因此,似乎设置已成功,我能够在所有主机上获得 Kerberos 票证,如果以 root 身份登录, 也可以su - foo
正常工作。此外,当我尝试通过 ssh 登录到 IPA 时服务器机器,比如说ssh foo@servermachine
,它工作得很好。但是,如果我尝试登录 IPA客户机器,即ssh foo@clientmachine
我立即断开连接:
! user@machine >ssh foo@clientmachine
Password:
foo@clientmachine's password:
Connection closed by 172.27.0.104
有趣的是,ssh 要求输入两次密码。ssh -vvv
第二次密码尝试后得到的结果为:
foo@clientmachine's password:
debug3: packet_send2: adding 64 (len 57 padlen 7 extra_pad 64)
debug2: we sent a password packet, wait for reply
Connection closed by 172.27.0.104
更有趣的是在客户端(ssh 服务器),journalctl -xeft sshd
第一次输入密码后显示此消息:
Jun 29 15:53:00 clientmachine sshd[5464]: pam_sss(sshd:auth): authentication success; logname= uid=0 euid=0 tty=ssh ruser= rhost=machine.domain.com user=foo
Jun 29 15:53:00 clientmachine sshd[5464]: pam_krb5[5464]: TGT verified using key for 'host/clientmachine@REALM'
Jun 29 15:53:00 clientmachine sshd[5464]: pam_krb5[5464]: authentication succeeds for 'foo' (foo@REALM)
Jun 29 15:53:01 clientmachine sshd[5464]: pam_sss(sshd:account): Access denied for user foo: 4 (System error)
Jun 29 15:53:01 clientmachine sshd[5461]: error: PAM: User account has expired for foo from machine.domain.com
第二次:
Jun 29 15:56:10 clientmachine sshd[5483]: pam_sss(sshd:auth): authentication success; logname= uid=0 euid=0 tty=ssh ruser= rhost=machine.domain.com user=foo
Jun 29 15:56:10 clientmachine sshd[5483]: pam_krb5[5483]: TGT verified using key for 'host/clientmachine@REALM'
Jun 29 15:56:10 clientmachine sshd[5483]: pam_krb5[5483]: authentication succeeds for 'foo' (foo@REALM)
Jun 29 15:56:10 clientmachine sshd[5483]: Failed password for foo from 10.128.34.50 port 55327 ssh2
Jun 29 15:56:10 clientmachine sshd[5483]: fatal: Access denied for user foo by PAM account configuration [preauth]
我已仔细检查该帐户是否不是已过期,而且如前所述,如果我连接到 IPA 服务器计算机,则通过 ssh 以用户 foo 身份登录没有任何问题。相应的sshd
日志:
Jun 29 16:00:11 servermachine sshd[29995]: pam_sss(sshd:auth): authentication success; logname= uid=0 euid=0 tty=ssh ruser= rhost=machine.domain.com user=foo
Jun 29 16:00:11 servermachine sshd[29992]: Accepted keyboard-interactive/pam for foo from 10.128.34.50 port 34662 ssh2
Jun 29 16:00:11 servermachine sshd[29992]: pam_unix(sshd:session): session opened for user foo by (uid=0)
总结:
kinit foo
在服务器上:有效kinit foo
在客户端机器上:有效su - foo
在服务器上以 root 身份登录时:有效su - foo
在客户端计算机上以 root 身份登录时:有效ssh foo@servermachine
: 作品ssh foo@clientmachine
:不起作用!,ssh 客户端立即断开连接
我不明白发生了什么,我将不胜感激任何帮助!
答案1
您不应pam_krb5
与 并行使用pam_sss
。为什么要对其进行配置?