有时(但不是每次 - 大约每 10 次尝试中有 3 次成功)当我尝试连接到托管在 Azure 上的 VM 时,我的 SSH 连接会在提供 shell 之前挂起;详细调试日志中的最后一条消息是:
debug2: channel 0: request shell confirm 1
debug3: send packet: type 98
debug2: channel_input_open_confirmation: channel 0: callback done
debug2: channel 0: open confirm rwindow 0 rmax 32768
当使用它运行时strace
,它显示的最新系统调用如下所示:
pselect6(7, [3], [], NULL, NULL, NULL)
查看服务器端日志,我看到的是:
Accepted publickey for <USER> from <MY IP> port 29478 ssh2: RSA SHA256:<FINGERPRINT>
pam_unix(sshd:session): session opened for user <USER> by (uid=0)
- 连接到 Azure 上托管的其他虚拟机(即使在同一区域)不会出现任何问题。我验证过,两者的 SSH 服务器版本没有区别。
- 当使用其他虚拟机作为跳转主机时,它会连续 10 次成功
我该如何调试这个问题?
答案1
我最终切换到tinyssh连接到不会表现出相同行为。