我在 .ssh 配置中有以下配置:
Host *
GSSAPIAuthentication no
Compression yes
ForwardAgent yes
ForwardX11 no
Protocol 2
StrictHostKeyChecking no
NoHostAuthenticationForLocalhost yes
ControlPath ~/.ssh/sockets/%r-%h-%p
ControlMaster auto
Host test
User xxx
Hostname some_ip
当然,我定义了多个主机。
现在。当我连接到任何地方时,我都会使用工作良好的连接多路复用器。但是。当我连接到 2 个特定主机时,它们都运行 Redhat,我认为这可能与问题有关,我遇到了以下情况:
- 如果我快速启动第二个连接到测试主机,(例如在第一个控制台选项卡上进行 ssh 测试,然后在第二个选项卡上快速进行另一个测试 - 它可以正常工作。两个连接都通过多路复用通道进行)
- 如果我启动主机,然后等待大约 1 分钟,然后尝试启动第二个连接 - 主机已断开连接,并且第二个连接在连接之前也会出错。
可能出了什么问题?
答案1
Openssh-4.3 相当老了,从那时起许多多路复用错误都已修复。使用较新的版本可能会好得多。openssh-5.3 是当前版本,预计 5.4 将于明年年初发布。
答案2
可能是因为 redhat 机器上的 sshd_config 将 ClientAliveInterval 设置为 0,或者存在类似问题?在我看来,没有从服务器或客户端(可能性较小,因为它在其他地方工作)发送任何 keepalive 数据包。
当您连接到其他非 Redhat 主机时是否有相同的行为?