问题

问题

问题

在本地计算机上使用命令提示符或 WSL2 成功登录后,SSH 连接挂起。但是,使用 PuTTY 时,相同的 SSH 连接没有任何问题。我能够看到介绍信息登录后但不是 shell 提示符。这只发生在特定服务器上。令人惊讶的是,它在其他客户端机器上也能成功。 屏幕截图显示了在 Windows 和 WSL2 上成功登录后 ssh 如何挂起

当前环境

  • Windows 10 v10.0.19045.2965
  • Windows SSH 版本OpenSSH_for_Windows_8.1p1, LibreSSL 3.0.2
  • WSL2 SSH 版本OpenSSH_8.2p1 Ubuntu-4ubuntu0.7, OpenSSL 1.1.1f

我迄今为止尝试过

  • 禁用 GSSAPIAuthentication:ssh -T -o GSSAPIAuthentication=no user@host曾经成功过,但其他尝试都失败了。
  • 更改远程服务器的 SSH 端口
  • UseDNS no通过在 SSH 服务器配置文件(位于 /etc/ssh/sshd_config)中设置来禁用 SSH 服务器上的 DNS 反向查找。

令人费解的是,PuTTY 运行正常,但我本地机器上的本机 SSH 客户端却一直遇到这个问题。

答案1

ssh用于连接的命令是ssh -T user@host

-T标志的解释如下男人为:

禁用伪tty分配

这基本上意味着你遇到的确切问题,它应该被使用(更多内容请见此处)当您特别不想要交互式 shell(您可以在其中手动输入命令)时。

在您的情况下,这可能只是不需要的(从某些东西中复制并粘贴...),删除它将使ssh交互式 shell 的工作按预期进行。只需使用:

ssh user@host

相关内容