我正在处理一个非常慢的 shell 连接。它在云端,我离服务器很远。我的连接有时也会中断,因为它是通过互联网,而且我可能还在使用共享 Wifi 或 3G。有没有办法可以立即看到我输入的内容?尝试输入命令并等待每个字符真是太糟糕了。
答案1
尝试莫什。
Mosh(手机壳)
远程终端应用程序允许漫游、支持间歇性连接并提供智能本地回声和用户按键的行编辑。Mosh 是 SSH 的替代品。它更强大、响应更快,尤其是在 Wi-Fi、蜂窝和长距离连接上。
Mosh 是免费软件,适用于 GNU/Linux、FreeBSD、Solaris、Mac OS X 和 Android。
答案2
dmourati 答案的替代方法(也是补充):使用screen
或tmux
或其他方法,在断开连接时保持会话处于活动状态。(您只需在重新连接后重新连接到会话,即可看到离开时的终端,即使使用全屏程序 [vi 等])。它还有许多其他好处(与同事共享会话等)(正如 Mosh 自己的常见问题解答中所述:
问:为什么我的终端的回滚缓冲区不完整?
Mosh 1.2 仅同步终端的可见状态。Mosh 1.3 将提供完整的回滚支持;请参阅此问题以及从那里链接的其他问题。目前,解决方法是在远程端使用 screen 或 tmux。
并且您还应该使用rsync
它来复制文件,而不必在连接中断时通过网络重新发送已发送的部分。
答案3
您应该了解延迟/瓶颈在哪里。您应该尝试更好地访问基础设施……无论是本地还是提供商端。您将重要或关键的会话包装在tmux
多路复用screen
器中……
请给我们一些数字。简单的 SSH 会话只有在连接特别差的情况下才会出现问题……我不得不从飞机通过 VPN 仍然没有遇到太多麻烦。这是一个持续存在的问题吗?这说明了什么traceroute
?