通过 ssh 连接到 freeIPA 客户端主机时出现问题

通过 ssh 连接到 freeIPA 客户端主机时出现问题

我正在尝试使用 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。为什么要对其进行配置?

相关内容