【.com快速翻译】如果您在公司中使用多个无线或有线连接,发现自己在校园里走来走去执行从一个网络到另一个网络的管理漫游。发生这种情况时,您的安全外壳连接就会丢失。或者您的单一网络连接并不总是最可靠的?如果您执行的管理任务不重要,那很好。如果您正在执行一项重要任务并且此连接断开,会发生什么情况?你不希望那样,这就是为什么你应该使用像MOSH这样的工具。MOSH代表MobileShell,它允许您获得持久的SSH连接,即使您更改网络或暂时失去连接。更好的是,MOSH的工作方式几乎与SSH相同,至少从用户的角度来看是这样。在底层,MOSH通过SSH登录用户,然后在60000和61000之间的UDP端口上启动连接以保持连接。不妨安装MOSH看看它的用法。你需要什么?MOSH适用于Linux、macOS、Windows、Android和iOS。您必须在服务器和客户端上安装MOSH包。我将使用基于Ubuntu的Linux发行版来演示两端。如果您使用的是MacOS,请确保从MOSH下载页面下载二进制安装程序。如果您使用的是Windows,则没有本机包,因此您必须使用适用于Chrome的MOSH。如何安装MOSH?MOSH可以在我的发行版的标准存储库中找到。要在基于Ubuntu的发行版上安装MOSH,命令为:sudoapt-getinstallmosh-y如果您使用的是基于RedHat的Linux发行版,则命令为:sudodnfinstallmosh-y确保在客户端和服务器上都安装了MOSH。如何使用MOSH?当然,这假设您已经可以使用SSH建立从客户端到服务器的连接。在这种情况下,您可以使用MOSH来建立连接,如下所示:moshUSER@SERVER其中USER是远程用户名,SERVER是服务器的IP地址或域。如果出于某种原因需要使用不同的UDP端口,则命令为:mosh-pPORTUSER@SERVER其中PORT是端口号,USER是远程用户名,SERVER是服务器的IP地址或域。如果您已将SSH配置为使用服务器上的非标准端口,则必须在mosh命令中这样定义它:mosh--ssh="ssh-pPORT"USER@SERVER其中PORT是服务器上的非标准SSH端口服务器,USER为远程用户名,SERVER为服务器IP地址。您可以像这样组合UDP和SSH端口更改:mosh-pUDP--ssh="ssh-pSSH"USER@SERVER其中UDP是UDP端口,SSH是SSH端口,USER是远程用户名,SERVER是服务器IP地址或域。MOSH也可以使用SSH身份,就像在SSH中使用SSH身份一样,如下所示:mosh-iIDENTITY其中IDENTITY是您在~/.ssh/config中配置的身份的名称。如何配置防火墙?您可能遇到的一个问题是服务器上的防火墙拒绝连接到MOSH将使用的必要端口。这个问题很容易解决。在具有“简单防火墙”(如Ubuntu服务器)的服务器上,打开这些端口的命令为:sudoufwallow60000:61000/udp如果您的服务器使用iptables,则命令为:sudoiptables-IINPUT1-pudp--dport60000:61000-jACCEPT一旦您允许端口访问,MOSH应该可以正常工作。这就是您在MOSH的帮助下获得客户端和服务器之间相对可靠的SSH连接所需要做的全部工作。试试这个工具,看看即使从一个网络漫游到另一个网络时,您的SSH连接是否保持连接。原标题:如何用开源的MOSH实现SSH持久连接,作者:JackWallen
