网路 Mosh:安全壳,无痛苦

Mosh:安全壳,无痛苦

目录:

Anonim

如果您是技术专家,那么您无疑会了解Secure Shell(SSH),并定期使用它来连接到远程系统。 虽然SSH是一个很棒的工具,但它假定您具有可靠的有线连接。 在无线连接上,它并不总是能很好地工作,这可能是不可靠的。 Mosh或Mobile Shell是一种已更改的新工具,它允许用户连接到远程系统并保持连接,即使网络中断或切换网络也是如此。

为什么是莫什?

对于需要在整个大厅或在全国范围内登录服务器的管理员,程序员和高级用户来说,Secure Shell是必不可少的。 它是Telnet的安全加密替代品。 这是一个很棒的工具,但是它是在90年代设计的,当时这个时代是Wi-Fi上的移动计算机普及的时代。 SSH假定可靠的有线连接,而用户移动时并非总是如此。 正如许多人所发现的那样,Wi-Fi连接通常很杂乱,并且要在不断开连接的情况下将连接从Wi-Fi更改为LTE是不可能的。


在其他时候,这不是连接的问题,而是用户的问题。 或者,正如他们在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的狂热用户来说,在外壳服务器上保持连接并根据需要断开连接也很受欢迎。

时间到了吗?

现在,您已经了解了Mosh如何使您的移动远程登录体验变得更好,为什么不亲自尝试一下呢?

Mosh:安全壳,无痛苦