登录另一个大陆的远程计算机时,Putty 会随机冻结

登录另一个大陆的远程计算机时,Putty 会随机冻结

为了工作,我每天都要从亚洲 ssh 到欧洲的一台远程机器。但 Putty 有时会在完全随机的时间冻结,我别无选择,只能关闭并重新打开新的 ssh 会话。这很令人沮丧,尤其是当我正在编辑某些内容或执行长时间运行的程序时。

我知道这个问题确实没有太多细节(因为网络似乎根本没有问题)。有人在使用 Putty 时遇到过这种问题并解决了吗?

谢谢你的时间!

答案1

冻结可能是超时问题。不幸的是,似乎没有简单的方法可以解决这个问题,以下是我找到的所有方法:Putty 常见问题解答

如果这有帮助,那就太好了。但如果你想尽量减少断线问题,你应该开始使用屏幕持久性下面描述的功能应该特别有趣。

来自维基百科:

特征
GNU Screen 可以被认为是图形窗口管理器的文本版本,或者是一种将虚拟终端放入任何登录会话的方式。它是一个包装器,允许多个文本程序同时运行,并提供允许用户在单个界面中高效使用这些程序的功能。

持久性
与 VNC 类似,GNU Screen 允许用户从一台计算机启动应用程序,然后从另一台计算机重新连接并继续使用同一应用程序,而无需重新启动。这使得在工作和家庭等地点之间迁移变得简单。Screen 提供与终端无关的功能,以便用户可以使用不同类型的终端断开连接并重新连接,从而使应用程序能够继续运行而无需了解终端的变化。

多个窗口
可以创建多个终端会话,每个会话通常运行一个应用程序。窗口已编号,用户可以使用键盘在它们之间切换。一些 GUI 终端仿真器提供选项卡或其他类似功能。每个窗口都有自己的回滚缓冲区,因此即使窗口未主动显示,也可以捕获输出,并且即使迁移到另一台计算机也可以保存历史记录。窗口可以分屏。虽然一些文本应用程序内置了此功能,但 Screen 允许任何应用程序与任意数量的其他应用程序一起分屏。

会话共享
Screen 允许多台计算机同时连接到同一会话,从而允许多个用户进行协作。同一台计算机还可用于同时建立多个连接,为屏幕分割提供替代功能,尤其适用于具有多台显示器的计算机。

答案2

我发现的最简单的解决方案是按 ctrl-q 来恢复流量控制。

通常情况下,您需要按 ctrl-s 进行保存,但我觉得这在 putty 中非常烦人,我以为它一开始就冻结了,但实际上它关闭了流控制,ctrl-q 会将其重新打开。

答案3

您可以按照以下教程让 Putty 不时发送保持活动类型的数据包:http://breakablelinux.blogspot.com/2007/12/preventing-putty-timeouts.html

如果第一个发帖者是正确的,您可以通过以下注册表编辑来增加超时时间,这意味着更少的断开连接。

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters]
"TcpMaxDataRetransmissions"=dword:00000010

如果你认为问题出在 Putty 上,请尝试其他 SSH 客户端,例如 Poderosa

答案4

就我而言,问题出在 MTU 过大。如果您使用 NAT,您可以在路由器上更改 MTU,但我在服务器上更改 MTU:

sudo /sbin/ifconfig eth0 mtu 1036
sudo /etc/init.d/networking restart

相关内容