如何使用mosh替换ssh

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

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

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

注意 Mosh不支持端口转发或代理,您不能使用mosh复制文件或挂载远程目录。您仍然需要使用SSH来完成这些任务。

Mosh SSH的优势

使用Mosh连接到您的Linode有几个优势:

  • 连续连接:如果您的网络连接中断,Mosh将尝试使用任何可用的Internet连接重新连接。
  • 减少网络延迟:与SSH不同,SSH在显示您输入的内容之前等待服务器的响应,Mosh提供对输入,删除和行编辑的即时响应。
  • 比SSH更方便: Mosh在常规终端应用程序内运行并通过SSH登录服务器。

准备开始了吗?我们走吧!

准备防火墙

在安装Mosh之前,您应该验证您的CVM防火墙是否允许Mosh客户端和服务器进行通信。如果使用iptables创建防火墙,则需要编辑/etc/iptables.firewall.rules并添加另一条规则以允许Mosh客户端通过UDP端口60000-61000连接到您的Linode。

-A INPUT -p udp --dport 60000:61000 -j ACCEPT

输入以下命令激活新的防火墙规则:

sudo iptables-restore < /etc/iptables.firewall.rules

Mosh现在可以与您的CVM进行通信。

在您的Linode上安装Mosh

首先,您需要在您的CVM上安装Mosh。在下面找到Linux发行版的说明。

Ubuntu

通过逐个输入以下命令,从开发人员的PPA存储库安装mosh:

sudo apt-get install python-software-properties
sudo add-apt-repository ppa:keithw/mosh
sudo apt-get update
sudo apt-get install mosh

Mosh现已安装在您的CVM上。

Debian

Mosh可以在Debian的backports存储库中找到。您需要向sources.list添加squeeze-backports更新包信息,然后从backports存储库安装。如下所示:

编辑/etc/apt/sources.list并添加以下行:

deb <http://backports.debian.org/debian-backports> squeeze-backports main

运行apt-get update

通过输入以下命令从squeeze-backports中安装mosh:

apt-get -t squeeze-backports install "mosh"

Mosh现已安装在您的CVM上。

Arch Linux

Mosh可以在Arch Linux存储库中找到。输入以下命令进行安装:

pacman -S mosh

Mosh现已安装在您的CVM上。

其他发行版

如果您在CVM上安装了其他Linux发行版,请参阅Mosh网站以获取安装说明。

在台式计算机上安装Mosh

现在您需要在台式计算机上安装Mosh。在下面找到适用于您的计算机操作系统的说明。

Linux

按照上文中列出的发行说明进行操作,或者访问Mosh网站

Mac OS X

在OS X中安装Mosh的最简单方法是从Mosh网站下载安装包。

或者,如果您愿意,可以使用Homebrew自动执行下载,编译和安装Mosh的过程。请注意,您必须已安装Homebrew

brew install mobile-shell

Mosh现已安装在您的计算机上。

Windows

目前没有可用于Windows操作系统的本机Mosh客户端。

与Mosh连接

使用Mosh连接到远程服务器的语法类似于ssh:

mosh yourusername@host.yourdomain.com

Mosh将通过SSH登录服务器,然后连接60000和61000之间的UDP端口。

您还可以连接到备用端口上运行的SSH守护程序:

mosh yourusername@host --ssh="ssh -p 2222"

现在,您已经学会了如何在各个版本上安装Linux系统啦!

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


参考文献:《Install a Mosh Server as SSH Alternative on Linux》

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

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

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏王磊的博客

iBatis for Net 代码生成器(CodeHelper)附下载地址(已经升级为V 1.1)

CodeHelper是一款可以自己定义模板和生成内容的代码生成器,目前只支持MsSql数据库,这款代码生成器的初衷也只是为了生成MyBatis.net框架的配置...

3726
来自专栏纯洁的微笑

如何使用 Spring Boot 开发邮件系统?

互联网发展到现在,邮件服务已经成为互联网企业中必备功能之一,应用场景非常广泛,比较常见的有:用户注册、忘记密码、监控提醒、企业营销等。

3492
来自专栏轻扬小栈

linux 百度客户端 非图形界面 小结

2055
来自专栏大魏分享(微信公众号:david-share)

详细描述微服务架构模式 | 微服务系列第三篇

虽然微服务通常是单独部署的,但大多数企业级微服务架构要求服务彼此交互以及与其他外部服务交互。 使用进程间通信(IPC)机制实现该通信。 根据应用程序的要求,微服...

1022
来自专栏任浩强的运维生涯

Jenkins的初级应用(1)-Publish Over SSH

    作为Jenkins最基本的应用也是重要的一环就是可以把文件传到服务器上面,或者在服务器上面远程执行命令。一个可在在远程分发了文件之后就控制远程服务器的操...

830
来自专栏魏艾斯博客www.vpsss.net

lnmp1.4 环境安装 memcached 和 object-cache.php 过程记录及内存缓存加速效果

大家都知道 wordpress 的弱点在于频繁访问数据库,导致网站打开速度并不理想。使用 Linux 服务器可以添加 memcached 缓存,把常用数据都缓存...

56711
来自专栏携程技术中心

Ctrip·Tech——架构师一席谈(3)把异步架构延伸到客户端

在开始今天的内容之前,我们先来回顾一下之前提到过的知识点(具体内容可以回复“架构师一席谈”): 1.在一台电脑上,使用异步编程可以提高cpu的使用效率 2.使用...

23810
来自专栏熊二哥

Maven快速入门

Maven是Java中最为普及的包管理工具,在实际项目中由于依赖的各类jar包非常多,因此概念清晰的处理好各类Jar依赖显得非常重要,接下来通过基础知识,Jar...

6039
来自专栏Golang语言社区

从零开始实现RPC框架 - RPC原理及实现

RPC(Remote Procedure Call)即远程过程调用,允许一台计算机调用另一台计算机上的程序得到结果,而代码中不需要做额外的编程,就像在本地调用一...

1983
来自专栏云计算教程系列

如何使用CentOS 7上的TICK堆栈监控系统指标

TICK堆栈是来自时间序列数据库InfluxDB的开发人员的产品集合。它由以下组件组成:

3045

扫码关注云+社区

领取腾讯云代金券