Mosh或Mobile Shell允许用户连接到远程系统并保持连接


如果您是技术专家,您无疑会了解Secure Shell(SSH)并定期使用它来连接远程系统 。虽然这是一个很棒的工具,但SSH假设您有可靠的有线连接 。它在无线连接上并不总是有效,这可能是不可靠的 。改变的一个新工具是Mosh或Mobile Shell,它允许用户连接到远程系统并保持连接,即使在网络出现故障或您切换网络时也是如此 。
为什么莫什?
对于需要登录服务器的管理员,程序员和高级用户来说,Secure Shell是必不可少的,无论是在大厅还是在全国各地 。它是Telnet的安全,加密替代品 。它是一个很棒的工具,但它是在90年代设计的,这是Wi-Fi上的移动计算机变得普遍的时代 。SSH假设有一个可靠的有线连接,当用户移动时并非总是如此 。许多人发现,Wi-Fi连接通常很不稳定,并且在不断开连接的情况下,无法改变从Wi-Fi到LTE的连接 。
【Mosh或Mobile Shell允许用户连接到远程系统并保持连接】其他时候,这不是连接的错,而是用户 。或者,正如他们在IT中所说,这是一个PEBKAC(键盘和椅子之间存在问题) 。我最喜欢的是关闭盖子,同时忘记我已经通过SSH登录到远程机器 。我打开盖子,输入终端窗口,没有任何反应 。我只能杀死会话并再次登录 。这很烦人,但我做了无数次,我相信你也有 。
许多人试图通过使用GNU Screen和tmux等程序来缓解这个问题 。这些是终端多路复用器这不仅可以为命令行提供类似标签式浏览的功能,还可以在您的连接断开时保留会话 。只需重新登录,您就可以从中断的地方继续 。像这些程序一样方便,SSH本身的问题仍然存在 。
我辞去了我的SSH命运,但有一天我偶然发现了我在shell服务器上的新程序 。Mosh试图改进SSH,使其适用于笔记本电脑 。它是由麻省理工学院的一些聪明人开发的,他们给我们带来了Lisp(所以当他们看到一个时他们可能知道一件好事) 。主要开发人员之一Keith Winstein创建了一个视频,展示了它是如何工作的 。
Mosh的创建者将其描述为SSH的替代品,它更强大,更灵敏,特别是在Wi-Fi,蜂窝和长途链接上 。
这个怎么运作
Mosh使用称为状态同步协议(SSP)的新协议 。这基于传统的远程连接协议,如Telnet和SSH 。在SSH下,服务器只向客户端发送一些字节以进行解释 。
SSP增加了另一层 。服务器和客户端使用序列号跟踪已发送的内容 。如果服务器获得的序列号高于先前发送的序列号,那么它足够聪明,可以确定客户端已移至另一个连接 。这意味着很容易从Wi-Fi网络漫游到Wi-Fi网络,或从Wi-Fi网络漫游到蜂窝网络,或从Wi-Fi网络漫游到有线连接等等 。
Mosh提供的另一个不错的功能是实时字符回声 。通常情况下,如果您使用的是SSH,则可能会在键入和等待角色出现在屏幕上之间发现延迟,因为服务器会回显您正在键入的内容 。
在做了
如果你很感兴趣,你会很高兴知道安装Mosh很容易 。大多数主要的Linux和Unix发行版都在它们的存储库中 。Mosh主页显示了使用Debian和Ubuntu以及Gentoo,Arch和Fedora的示例 。由于Mac OS X基于Unix,因此Mac用户也可以加入 。有一个原生包,以及想要使用Homebrew和MacPorts在Mac上编译它的人 。如果您的系统没有Mosh作为包,您可以根据需要自行下载和编译 。
当您安装了客户端时,您已准备好启动并运行Mosh并登录 。您的登录方式与使用SSH完全一样 。事实上,Mosh实际上并没有处理登录; 它将登录信息交给SSH 。如果您使用SSH的公钥加密功能安全登录而无需密码,这将非常有用 。
然而,有一个问题 。您需要Mosh服务器进行连接 。幸运的是,您不必是超级用户来安装它 。您甚至可以将它放在您的主目录中,如果您无法与系统管理员进行安装,则可以将其启动 。Mosh仍然是新手,所以也许有一天它会变得像SSH一样无处不在服务器上 。
另一件事:Mosh希望您的终端支持UTF-8 。终端模拟器可以,但您可能必须在远程系统上的服务器接受连接之前设置$ LANG环境变量 。
保持活力
现在您已连接,您可以在家中,工作中,火车上或巡航高度上工作编码或编辑配置文件或管理远程机器 。
您可以通过断开Wi-Fi来测试Mosh的强大程度 。Mosh将在终端顶部显示一条消息,说它没有连接,还有一个计时器 。重新连接,您的会话将从中断的地方继续 。如果您关闭笔记本电脑盖,它也可以工作 。
当与GNU Screen或tmux等终端多路复用器配对时,Mosh会更好 。它们过去曾被用作Mosh的方式,以便在不可靠的连接上保持SSH会话活跃,但是当与Mosh一起使用时它们仍然提供一些优势 。例如,您可以从一个终端分离,注销并从另一台计算机登录,调用多路复用器并继续 。这对于长期工作非常有用 。对于IRC的狂热用户来说,在shell服务器上保持连接并在必要时分离也很受欢迎 。
莫什的时间?

    推荐阅读