我有一个 CentOS 5.4 系统,已成功绑定到 Active Directory。“net ads testjoin”显示一切正常。我可以对 AD 用户运行“id username”并查看他们的帐户。但是,我无法通过 SSH 远程登录。/var/log/secure 显示密码不正确,但我知道它是正确的。
我怀疑我的 /etc/pam.d/sshd 不正确。它应该是什么样子?
/etc/security 中是否有任何内容需要更改?
答案1
我可以花 0.02 美元购买 Likewise Open 吗?它可免费获取http://www.powerbrokeropen.org/自从我实施了它,我发誓,它为我节省的时间比我用过的任何东西都多。我无法告诉足够多的人。
你基本上下载软件包,安装它,然后运行命令
domainjoin-cli join mydomain.com adminusername
您可以在 /etc/likewise-open/ 中编辑配置并设置诸如“使用默认域”之类的内容,并将主目录和默认 shell 更改为您在站点上想要的任何内容,然后就完成了。所有身份验证都运行正常。PAM 运行良好。Samba 和 Apache 身份验证都很容易。它真的像黄油一样简单。
如果您在将 Linux 机器纳入域时遇到问题,我强烈推荐这个。
答案2
我认为这取决于您如何连接到域(winbind 或 ldap)。鉴于“net ads testjoin”,我假设您使用的是 winbind。在这种情况下,您需要
auth sufficient pam_winbind.so
在你的 /etc/pam.d/sshd 中。
您还需要
passwd: files winbind
group: files winbind
在 /etc/nsswitch.conf 中
您可以使用域帐户本地登录吗?
答案3
是否getent passwd
返回 AD 帐户列表?
检查你的 /etc/pam.d/system-auth:
auth required pam_env.so
auth sufficient pam_unix.so nullok try_first_pass
auth requisite pam_succeed_if.so uid >= 500 quiet
auth sufficient pam_winbind.so use_first_pass
auth required pam_deny.so
account required pam_unix.so
account sufficient pam_localuser.so
account sufficient pam_succeed_if.so uid < 500 quiet
account [default=bad success=ok user_unknown=ignore] pam_winbind.so
account required pam_permit.so
password requisite pam_cracklib.so try_first_pass retry=3
password sufficient pam_unix.so md5 shadow nullok try_first_pass use_authtok
password sufficient pam_winbind.so use_authtok
password required pam_deny.so
session required /lib/security/$ISA/pam_mkhomedir.so skel=/etc/skel umask=0077
session optional pam_keyinit.so revoke
session required pam_limits.so
session [success=1 default=ignore] pam_succeed_if.so service in crond quiet use_uid
session required pam_unix.so
还要验证 winbind 是否已添加到 /etc/nsswitch.conf 中的 passwd、shadow 和 group。