前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >SSH延迟太高,试试mosh吧!

SSH延迟太高,试试mosh吧!

原创
作者头像
不会飞的蝴蝶
发布2018-07-30 11:54:20
3.2K0
发布2018-07-30 11:54:20
举报

介绍

毫无疑问,SSH是远程服务器管理最实用的方法。然而,它的主导地位并不意味着它在某些情况下没有缺点。如果您曾在移动设备上使用过SSH,那么,你应该知道SSH的一些缺点。

mosh是基于新的State Synchronization Protocol(SSP)协议,运行在UDP上,能同步不同主机对象的状态,加密和认证使用AES-128。在高延迟的网络下,mosh比ssh流畅多了,而且在3G网络下,丢失网络变更IP后,终端连接不会中断。另外,mosh对编码的转换上,比其他终端有不少优势。

这些好处使Mosh成为您在CVM上安装的绝佳选择,适用于您在移动中需要执行任务时的情况。今天的学习需要一台服务器,没有服务器的同学,我建议您使用腾讯云免费的开发者专属在线实验平台进行试验。

安装

首先,必须首先在客户端和服务器上安装Mosh。Mosh包存在于大多数流行的发行版中,下面是我们提供的一些发行版的安装方法。

在Ubuntu上:

代码语言:javascript
复制
sudo apt-get install python-software-properties
sudo add-apt-repository ppa:keithw/mosh
sudo apt-get update
sudo apt-get install mosh

在Debian上:

代码语言:javascript
复制
sudo apt-get install mosh

在Arch Linux上:

代码语言:javascript
复制
pacman -S mosh

在Fedora上:

代码语言:javascript
复制
sudo yum install mosh

对于任何其他操作系统,例如OSX或Windows,请参阅Mosh文档以查找最相关的安装方法。

防火墙配置

如果您的CVM上配置了防火墙(推荐),您还需要打开Mosh所需的额外端口。您可以使用腾讯云的安全组进行配置,也可以使用下面的方法进行配置。

如果您直接使用iptables,以下命令将打开Mosh所需的端口:

代码语言:javascript
复制
sudo iptables -I INPUT 1 -p udp --dport 60000:61000 -j ACCEPT

请记住,默认情况下,系统重新引导后不会保留此防火墙设置。

如果您使用的是UFW,则可以使用以下命令打开端口:

代码语言:javascript
复制
sudo ufw allow 60000:61000/udp

如果您使用任何其他程序来管理防火墙,则需要手动确保打开从60000到61000的UDP端口。

用法

在大多数用例中,Mosh是SSH的直接替代品,这意味着许多SSH命令只需要进行简单的更改。例如:

代码语言:javascript
复制
ssh user@example.com
​
# Becomes:
​
mosh user@example.com

但是,如果您使用SSH的任何其他参数(例如-p),则需要稍微不同的语法:

代码语言:javascript
复制
mosh --ssh="ssh -p 22000" user@example.com

一旦执行,您会发现moshssh没有什么不同,但是mosh却在后端加了更多功能来维持您的服务器远程管理。

虽然SSH将从远程计算机上运行的任何内容完整的传输到客户端,但Mosh只会将更改内容传送到当前可见的屏幕区域。这使它能够从根本上减少带宽使用并保持响应能力,这两者都可能成为移动连接的瓶颈。

如果您的连接完全断开,Mosh会很快通知窗口顶部的状态栏,指示自上次成功通信以来的时间。

恢复连接后,Mosh将自动重新同步,您可以从中断的地方继续进行会话。

您可能还会注意到,即使您的连接速度很慢或没有响应,您也可以在终端中输入新命令,并立即看到输入带有下划线。这样的带下划线的文本表明,在看到CVM的响应之前,Mosh已经推测了远程终端的样子。一旦下划线消失,您可以确保连接的两端同步。

概要

对Mosh的这一介绍突出了其在移动连接上的一些关键优势,虽然它可能无法取代您日常使用的SSH,但在您被迫依赖慢速连接的情况下,它会是一个不错的选择。您学会了吗?欢迎您使用腾讯云免费的开发者专属在线实验平台进行试验。更多云计算教程,请前往腾讯云+社区学习。


参考文献:《How To Install and Use Mosh on a VPS》

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 介绍
  • 安装
  • 防火墙配置
  • 用法
  • 概要
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档