|
|
|
|
公众号矩阵

如何使用开源MOSH获得持久性的SSH连接?

即使您从一个网络漫游到另一个网络,MOSH仍能使SSH连接保持持久性。本文介绍了如何安装和使用这款便捷的工具。

作者:布加迪来源:51CTO|2021-06-02 08:00

【51CTO.com快译】如果您在公司内使用多个无线或有线连接,又发觉自己要在园区内走动以履行管理职责,会遇到这种情况:您建立了一条SSH连接,但从一个网络漫游到另一个。出现这种情况时,您的安全外壳连接会断掉。或者也许您的单条网络连接并不总是最可靠的?如果您在执行的管理任务不是很重要,那没什么。如果您在执行重要的任务,这条连接又断掉,会发生什么?

您不想那样,这就是为什么应该使用MOSH之类的工具。MOSH的全称是移动外壳(Mobile Shell),让您可以获得持久性的SSH连接,即使更改网络或连接暂时中断。更棒的是,MOSH的使用与SSH几乎一样,至少从用户的角度来看是这样。在底层,MOSH通过SSH让用户登录,然后在60000至61000之间的UDP端口上启动连接,以保持连接持久性。

不妨安装MOSH,看看其用法。

您需要什么?

MOSH适用于Linux、macOS、Windows、Android和iOS。您必须在服务器和客户端上都安装MOSH软件包。我将用基于Ubuntu的Linux发行版来演示两端。如果用户使用MacOS,确保从MOSH下载页面下载二进制安装程序。如果用户使用Windows,没有原生软件包,因此您必须使用MOSH for Chrome

如何安装MOSH?

可以在我的发行版标准存储库中找到MOSH。要在基于Ubuntu的发行版上安装MOSH,命令将是:

  1. sudo apt-get install mosh -y 

如果您使用基于Red Hat的Linux发行版,命令将是:

  1. sudo dnf install mosh -y 

确保在客户端和服务器上都安装了MOSH。

如何使用MOSH?

当然,这假设您已经可以使用SSH建立从客户端到服务器的连接。在这种情况下,您可以使用MOSH来建立该连接,如下所示:

  1. mosh USER@SERVER 

其中USER是远程用户名,SERVER是服务器的IP地址或域。

如果由于某种原因需要使用不同的UDP端口,命令将是:

  1. mosh -p PORT USER @ SERVER 

其中PORT是端口号,USER是远程用户名,SERVER是服务器的IP地址或域。

如果您已将SSH配置为在服务器上使用非标准端口,必须在MOSH命令中定义它,如下所示:

  1. mosh --ssh="ssh -p PORT" USER@SERVER 

其中PORT是服务器上的非标准SSH端口,USER是远程用户名,SERVER是服务器的IP地址。您可以结合UDP和SSH端口方面的更改,就像这样:

  1. mosh -p UDP --ssh="ssh -p SSH" USER@SERVER 

其中UDP是UDP端口,SSH是SSH端口,USER是远程用户名,SERVER是服务器的IP地址或域。

MOSH也可以使用SSH身份,就像SSH中使用SSH身份那样,如下所示:

  1. mosh -i IDENTITY 

其中IDENTITY是您在~/.ssh/config中配置的身份的名称。

如何配置防火墙?

您可能会遇到的一个问题是,服务器上的防火墙拒绝连接至MOSH将使用的必要端口。这个问题很容易解决。在使用“不复杂防火墙”的服务器(比如Ubuntu Server)上,打开这些端口的命令将是:

  1. sudo ufw allow 60000:61000/udp 

如果您的服务器使用iptables,命令将是:

  1. sudo iptables -I INPUT 1 -p udp --dport 60000:61000 -j ACCEPT 

一旦您允许端口访问,MOSH应该可以正常工作了。

这就是在MOSH的帮助下,在客户端和服务器之间获得比较可靠的SSH连接所需的全部步骤。试一下这款工具,看看即使从一个网络漫游到另一个网络,您的SSH连接是否仍保持连接状态。

原文标题:How to achieve persistent SSH connections with the open source MOSH,作者:Jack Wallen

【51CTO译稿,合作站点转载请注明原文译者和出处为51CTO.com】

【编辑推荐】

  1. 鸿蒙官方战略合作共建——HarmonyOS技术社区
  2. 谷歌推出新AI工具 可识别常见皮肤状况
  3. 如何在 React 中使用 Vite 构建工具?
  4. Mozilla 自研翻译工具,Firefox 终于获得原生翻译功能
  5. 5月份Github上热门的JavaScript开源项目
  6. OceanBase开源,11张图带你了解分布式数据库的核心知识
【责任编辑:华轩 TEL:(010)68476606】

点赞 0
分享:
大家都在看
猜你喜欢

订阅专栏+更多

带你轻松入门 RabbitMQ

带你轻松入门 RabbitMQ

轻松入门RabbitMQ
共4章 | loong576

7人订阅学习

数据湖与数据仓库的分析实践攻略

数据湖与数据仓库的分析实践攻略

助力现代化数据管理:数据湖与数据仓库的分析实践攻略
共3章 | 创世达人

8人订阅学习

云原生架构实践

云原生架构实践

新技术引领移动互联网进入急速赛道
共3章 | KaliArch

40人订阅学习

订阅51CTO邮刊

点击这里查看样刊

订阅51CTO邮刊

51CTO服务号

51CTO官微