在不稳定的网络中使用 Mosh 连接远程服务器

2024-08-20#网络工具#Linux#SSH

在连接远程的 Linux 服务器时,通常使用 SSH 连接。但是,当网络不够稳定的时(比如连接国外的服务器),在连接到 SSH 服务器之后,可能出现掉线、无响应、输入响应很慢等情况。这时候的体验很差,非常影响使用效率。在这种情况下,可使用 Mosh 优化 SSH 连接,改善使用体验。

什么是 Mosh 🔗

Mosh,即 Mobile Shell。在其官网(https://mosh.org/)的介绍如下:

Remote terminal application that allows roaming, supports intermittent connectivity, and provides intelligent local echo and line editing of user keystrokes.

Mosh is a replacement for interactive SSH terminals. It's more robust and responsive, especially over Wi-Fi, cellular, and long-distance links.

Mosh is free software, available for GNU/Linux, BSD, macOS, Solaris, Android, Chrome, and iOS.

翻译为中文:

一款远程终端应用程序,允许漫游,支持间歇性连接,并对用户击键提供智能本地回显和行编辑。

Mosh 是交互式 SSH 终端的替代品。它更加稳健且响应迅速,尤其是在 Wi-Fi、移动网络和长距离连接的情况下。

Mosh 是免费软件,适用于 GNU/Linux、BSD、macOS、Solaris、Android、Chrome 和 iOS。

安装 🔗

在服务器和客户端都必须安装 Mosh 才可以使用它。在大部分的包管理软件中都有 Mosh。比如,在 Ubuntu 服务器上可通过 apt-get 安装:

apt-get update
apt-get install -y mosh

在 macOS 上可使用 Homebrew 安装

brew install mosh

其他系统和平台上的安装方法见其官方文档

用法 🔗

设置服务器上的防火墙 🔗

Mosh 使用服务器上的 6000061000 的 UDP 端口进行通信,因此需要设置防火墙规则。在 Ubuntu 服务器上,可使用如下命令:

ufw allow 60000:61000/udp

连接远程服务器 🔗

在服务器端和客户端都安装了 Mosh 之后,可直接使用 Mosh 替换交互式的 SSH 即可。比如连接到远程服务器:

mosh root@x.x.x.x

其他用法见其文档


加载中...