间歇性 ssh“连接被拒绝”错误

间歇性 ssh“连接被拒绝”错误

最近,在 Mac OSX 上使用 svn+ssh 时,通常在执行了几次 svn 操作后,我通常会遇到一种状态,即任何 svn 命令都只会收到“连接被拒绝”错误。此时,使用 ssh ( ssh username@hostname) 的任何操作都会导致“连接被拒绝”错误。然后我必须等待几分钟才能再次开始工作。

以下是我目前所研究的内容:

  • 向托管服务提供商询问了 ssh 的具体信息(专用 IP、端口 22 开放)。他们说一切都很好。
  • 在不同的机器、不同的操作系统(Windows XP 使用 putty)上进行了检查。结果相同
  • 没有运行防火墙。
  • 我的路由器没有阻止端口 22。
  • 如果我在服务器上建立了 ssh 连接,则会出现连接被拒绝的消息。使用该连接 shh localhost即可。

还有什么可以帮助找到问题的根源吗?

答案1

我会保持 SSH 连接打开,以便下次发生这种情况,然后在服务器上运行 tcpdump 以查看数据包发生了什么情况。如果它们没有出现在服务器上,那么它们被托管提供商或更远的地方误导了;如果它们到达了,那么本地的某些东西拒绝了连接。可能是 SSH 实际上快要死了——检查 netstat -ltnp 是否有东西在监听端口 22。

几分钟后一切都恢复正常,这表明防火墙中的某种 SSH 速率限制(旨在阻止暴力攻击)可能阻碍了您的操作(“正常”使用 SSH 不会生成许多 SSH 连接,但 SVN 会进行大量 SSH 连接)。如果是这种情况,请确保每个人都有强密码(或者干脆关闭它们并使用密钥),然后关闭愚蠢的暴力保护。

相关内容