Mac OS X Server用户无法login,虽然日志显示正常

尝试解决无法从客户端login到我们的服务器的用户。 客户端绑定到服务器,其他用户可以进行身份​​validation。

当有问题的用户试图从terminallogin时,ApplePasswordServer.Server.log显示以下内容:

Jul 26 2009 17:42:26 AUTH2: {0x473633ea7bc7fcaa0000000553400871, jeffb} DIGEST-MD5 authentication succeeded. Jul 26 2009 17:42:26 AUTH2: {0x473633ea7bc7fcaa0000000553400871, jeffb} DIGEST-MD5 authentication succeeded. Jul 26 2009 17:42:26 GETPOLICY: user {0x473633ea7bc7fcaa0000000553400871, jeffb}. Jul 26 2009 17:42:31 KERBEROS-LOGIN-CHECK: user {0x473633ea7bc7fcaa0000000553400871, jeffb} is in good standing. Jul 26 2009 17:42:31 KERBEROS-LOGIN-CHECK: user {0x473633ea7bc7fcaa0000000553400871, jeffb} authentication succeeded. Jul 26 2009 17:42:31 AUTH2: {0x473633ea7bc7fcaa0000000553400871, jeffb} DIGEST-MD5 authentication succeeded. Jul 26 2009 17:42:31 AUTH2: {0x473633ea7bc7fcaa0000000553400871, jeffb} DIGEST-MD5 authentication succeeded. 

我们立刻就以相当突然的反应被踢出去了:

 macx42:~ weston$ ssh jeffb@xserver Password: Connection closed by 10.0.1.32 

编辑:我们已经尝试更改用户的密码与工作组pipe理器无济于事…

编辑2:响应评论…我看到/var/log/secure.loglogin失败的尝试:

 Jul 26 17:42:23 xserver sshd[498]: /etc/sshd_config line 70: Unsupported option KerberosGetAFSToken Jul 26 17:42:26 xserver com.apple.SecurityServer[34]: checkpw() succeeded, creating credential for user jeffb Jul 26 17:42:26 xserver com.apple.SecurityServer[34]: checkpw() succeeded, creating shared credential for user jeffb Jul 26 17:42:26 xserver com.apple.SecurityServer[34]: Succeeded authorizing right system.login.tty by client /usr/sbin/sshd for au thorization created by /usr/sbin/sshd. Jul 26 17:42:26 xserver sshd[498]: error: PAM: User account has expired for jeffb from bigmac.demetrioi.com Jul 26 17:42:31 xserver com.apple.SecurityServer[34]: checkpw() succeeded, creating credential for user jeffb Jul 26 17:42:31 xserver com.apple.SecurityServer[34]: checkpw() succeeded, creating shared credential for user jeffb Jul 26 17:42:31 xserver com.apple.SecurityServer[34]: Succeeded authorizing right system.login.tty by client /usr/sbin/sshd for au thorization created by /usr/sbin/sshd. Jul 26 17:42:31 xserver sshd[498]: Failed password for jeffb from 10.0.1.201 port 54698 ssh2 

编辑3 – 污垢的结果:

 xserver:~ weston$ dirt -u jeffb -p ******** Call to dsGetRecordList returned count = 1 with Status : eDSNoErr : (0) Call to checkpw(): Success path: /LDAPv3/127.0.0.1 Username: jeffb Password: ******** Success 

也许这与你的日志中的这一行有关:

7月26日17:42:26 xserver sshd [498]:错误:PAM:用户帐户已过期jeffb from bigmac.demetrioi.com

看着这个我认为你的用户的shell不在/ etc / shells中

我知道这个问题已经快3岁了,但是我想我find了一个答案,可以帮助其他有这个问题的人。

尝试通过执行以下操作来解决:

  1. 打开系统首选项==>共享==>远程login(或远程pipe理)

  2. 确保选中“允许所有用户访问”或将有问题的用户添加到“仅限这些用户”框中

显然,从OS X 10.5开始,sshd_config中的AllowUsers选项已被Apple弃用。 所以如果用户被允许在sshd_config而不是在系统偏好设置中,那么用户将不被允许login。 我没有做过广泛的检查,但是我从http://hintsforums.macworld.com/showthread.php?t=108595(post#4 )中发现了这些信息。

我很久以前就有过这个问题,但是在Mac OS X Leopard客户端上。 我相信我也在Ubuntu服务器上也有这个问题。

不能为了我的生活记得我做了什么,我想我可能已经通过删除用户帐户并添加一个新的,并使用它来解决它。 我知道这工作。 我认为这个问题可能发生,因为SSH和用户帐户密码不同步或类似的东西。

对不起,我不能给你一个直接的答案,但是当我用本来不应该的东西来加工时,就发生了这种情况。 我可以提供的最好的build议是尝试重置用户帐户的密码,可以解决这个问题。 除此之外,您可能必须将用户的文件迁移到新帐户并删除旧帐户。 祝你好运。

在客户端和服务器上使用灰尘进行testing。

 dirt -u jeffb -p 

比较结果。


在Workgroup Manager中使用Inspector将用户的帐户属性与正在工作的用户帐户进行比较。

该用户是否能够authentication其他服务(例如法新社)。 用户是否能够在使用不同的客户端工作站时login? 你有没有定义任何服务ACL?