![无法 ssh 进入服务器](https://linux22.com/image/1309453/%E6%97%A0%E6%B3%95%20ssh%20%E8%BF%9B%E5%85%A5%E6%9C%8D%E5%8A%A1%E5%99%A8.png)
我正在尝试通过 SSH 进入运行 ubuntu 的 Linux 计算机,但交互式 shell 卡在某处,我无法输入任何内容。我使用的是 Mac OS X Lion。只有当我尝试通过外部 IP 访问时才会发生这种情况。本地 LAN SSH 运行正常。
macbook:~ user$ ssh -v -v user@serverip
// i skipped the rest of the log, but I can paste it here again if needed.
Authenticated to serverip
debug1: channel 0: new [client-session]
debug2: channel 0: send open
debug1: Requesting [email protected]
debug1: Entering interactive session.
debug2: callback start
debug2: client_session2_setup: id 0
debug2: channel 0: request pty-req confirm 1
debug1: Sending environment.
debug1: Sending env LC_CTYPE = UTF-8
debug2: channel 0: request env confirm 0
debug2: channel 0: request shell confirm 1
debug2: fd 3 setting TCP_NODELAY
debug2: callback done
debug2: channel 0: open confirm rwindow 0 rmax 32768
此后,我的终端 shell 就挂起了,我无法输入任何内容。我检查了服务器上的 var/log/auth,发现正在创建会话,并且我已经登录,但我在客户端计算机上没有看到任何响应。
我在 Google 上搜索了一下,发现很多解决方案都与 Broadcom 无线驱动程序有关,但我甚至没有使用它,所以我对此很无知。
为了给您提供更多信息,Linux 机器还运行着一个 Web 服务器,而且我可以毫无问题地访问该 Web 服务器。
谢谢。任何帮助我都感激不尽。
答案1
左轮手枪,
可以尝试以下操作:
将 Web 服务器从有效的端口移开(我猜是 Apache..?)。
然后让 SSH 服务器监听您用于 Web 服务器的工作端口。(您可能需要重新启动每个相应的守护进程。)
报告结果。
(我正在尝试排除您的 ISP 阻止连接的可能性..)
干杯 :)
答案2
尝试在 ~/.ssh/config 中使用“ProxyCommand nc %h %p”
更新
自从我更新到 Mac OS X Mountain Lion 以来,我一直遇到类似的问题。但是,对于我来说,Mac OS X(普通 ssh 客户端)和华硕路由器以及外部服务器(通过 WAN)的组合会导致登录超时。
如果我尝试使用我的移动热点(跳过华硕路由器)连接到同一主机,连接工作正常,并且我可以使用交互式终端。
如果我尝试使用华硕路由器连接到本地服务器本地(LAN),它可以工作。
如果我使用 Forklift (SFTP/SCP)/Chrome SSH 客户端/putty、Asus 路由器和外部服务器,它就可以工作。
但普通的 ssh、华硕路由器和外部服务器不起作用。但这是我的正常设置,必须“正常工作”。
苹果论坛上有一篇关于此问题的长帖 -Mavericks 上的 SSH 客户端损坏
阅读完该帖子后,我在 ssh 配置中使用了上述命令,并且能够使用我的“正常设置”。