ssh - Kerberized ssh - key 交换很慢

标签 ssh kerberos

经过几天的锤击,我有一个工作的 CentOS 6.3 系统绑定(bind)到一个运行 Windows 2008R2 的 AD 域。我的方法是使用 Kerberos 身份验证的基于 sssd 的 pam。通过 LDAP 在域 Controller 上访问目录信息。 LDAP 绑定(bind)也使用了kerberized。

在我的客户端(Mac OS 10.8)上,我可以通过 ssh 进入 CentOS 系统,所有部分似乎都点击了正确。 Mac 获得一张票,然后进行 GSSAPI key 交换,然后进行 gssapi-keyex 身份验证。所以设置工作正常,但我遇到了登录缓慢的问题——从开始到结束大约需要 10 秒。我的经验是,kerberized ssh 应该是即时的,所以有些事情仍然不正确。

我已经使用 tcpdump 监控了 CentOS 和 DC 之间的通信,看起来 CentOS 会立即从它从 DC 请求的任何内容中获得响应。它挂断的部分实际上是在它完全尝试联系 DC 之前。看起来 GSSAPI key 交换很慢。因此,如果我在 Debug模式下查看 ssh 连接,它挂起的两点是

debug1: SSH2_MSG_KEXINIT sent


debug1: Doing group exchange

一旦进入身份验证方法:gssapi-keyex,它就会飞过。有没有人知道什么会导致 key 交换运行缓慢?我的客户可能有什么不对劲的地方?在 Mac 上,我的 ~/.ssh/config 文件设置如下:
GSSAPIAuthentication yes
GSSAPIKeyExchange yes
GSSAPIDelegateCredentials yes
GSSAPITrustDNS yes
GSSAPIClientIdentity username@MYDOMAIN.COM

最佳答案

我想通了,Kerberos 进行了许多 DNS 调用,如果你想获得实际的登录速度,你必须在 CentOS 上安装一个缓存 DNS 服务器。因此,只需安装和设置 BIND,您就可以开始使用了。

关于ssh - Kerberized ssh - key 交换很慢,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12878976/

相关文章:

mysql - Debian 找不到文件但显示该文件

docker - 主机是否可以通过Docker容器上运行的KDC进行身份验证?

linux - 在 Linux 上使用 Centrify 将 SPN 设置为与 UPN 相同

wcf - 自承载 WCF 数据服务上的 Kerberos 身份验证

azure - 我是否需要 SSH 隧道来使用完整 CI/CD 管道从 Windows Server 2016 部署 Docker 容器

linux - 是否可以从另一个 ssh 节点连接 ssh 节点?

Java 和 Kerberos

apache-spark - Spark on YARN + Secured hbase

ssh - 断开SSH连接后,如何防止gnu screen 无响应?

python - ssh 使用 Python 限制命令