低带宽时的 ssh

低带宽时的 ssh

我目前通过家里的 wifi 调用以下 ssh 命令(从 OSX 到 Ubuntu):

ssh -XYC -l my_username -c arcfour,blowfish-cbc -XC my_local_server

这很有效,除了在低带宽情况下,比如我在编码时通过网络播放音乐。

在这种情况下,ssh 通常会在一两分钟内断开。

在低带宽情况下,是否有更好的设置或配置可供我尝试?

答案1

当我担心连接断开时,我会使用“screen”创建一个虚拟终端。这样,如果 ssh 断开,我的程序仍可继续运行,我可以重新连接。

$ screen sudo su - userX

确保您获取了会话的身份,以便稍后可以重新连接:

$ screen -list

应该给你类似的东西pid.tty.主机名

现在,如果您的 ssh 会话断开,您只需重新启动它并重新连接到您的虚拟终端:

$ screen -r <pid>.<tty>.<hostname>

查看“man screen”了解更多详细信息。

另外 - 我听说过“mosh”(MIT Mobile Shell)的好评,但我还没有玩过。 http://mosh.mit.edu/

答案2

仅使用 SSH 无法做很多事情。您已经启用了压缩。您可以考虑使用较短的 MAC,但我怀疑这是否会有很大帮助。例如,我使用

媒体访问控制[电子邮件保护],hmac-md5-96,hmac-sha1-96,hmac-md5,hmac-sha1

man ssh_config更多细节。)

但一般来说,在频繁丢包的情况下,SSH 表现并不好。我不知道你的情况,但也许你可以将 SSH 流量优先于其他流量(例如 QoS)?你也可以考虑类似莫什,这应该可以解决数据包丢失问题。

相关内容