SSH: Trouble Shooting

20th August 2020 at 2:19pm

SSH 常见故障定位。

SSH 时等提示输密码等很久

和这种现象类似的,还有使用 Jsch 等 SSH 库时的 ReadTimeout

根据这个 回答 以及我自身的经验,一般是两种问题:

  • 服务端启用了 reverse DNS lookup,试图将客户端的 IP 反查出域名。这个过程可能耗时很长,而且大部分时间并查不出什么来。可以在服务端的 /etc/ssh/sshd_config 中置 UseDNS no,并重启 sshd 解决
  • 客户端及服务端启用了 GSSAPI 鉴权方式(Authentication Method)时,有时候协商过程会持续很久。我不太了解这种方式的具体原理。你可以在客户端的 /etc/ssh/ssh_config 或是 ~/.ssh/config 中置 GSSAPIAuthentication no。如果你是用软件库进行连接,可以在相应的鉴权方式配置中不启用 GSSAPI