经过几天的锤击,我有一个工作的 CentOS 6.3 系统绑定到一个运行 Windows 2008R2 的 AD 域。我的方法是使用 Kerberos 身份验证的基于 sssd 的 pam。通过 LDAP 在域控制器上访问目录信息。LDAP 绑定也使用了kerberized。
在我的客户端(Mac OS 10.8)上,我可以通过 ssh 进入 CentOS 系统,所有部分似乎都点击了正确。Mac 获得一张票,然后进行 GSSAPI 密钥交换,然后进行 gssapi-keyex 身份验证。所以设置工作正常,但我遇到了登录缓慢的问题——从开始到结束大约需要 10 秒。我的经验是,kerberized ssh 应该是即时的,所以有些事情仍然不正确。
我已经使用 tcpdump 监控了 CentOS 和 DC 之间的通信,看起来 CentOS 会立即从它从 DC 请求的任何内容中获得响应。它挂断的部分实际上是在它完全尝试联系 DC 之前。看起来 GSSAPI 密钥交换很慢。因此,如果我在调试模式下查看 ssh 连接,它挂起的两点是
debug1: SSH2_MSG_KEXINIT sent
和
debug1: Doing group exchange
一旦进入身份验证方法:gssapi-keyex,它就会飞过。有没有人知道什么会导致密钥交换运行缓慢?我的客户可能有什么不对劲的地方?在 Mac 上,我的 ~/.ssh/config 文件设置如下:
GSSAPIAuthentication yes
GSSAPIKeyExchange yes
GSSAPIDelegateCredentials yes
GSSAPITrustDNS yes
GSSAPIClientIdentity username@MYDOMAIN.COM