不稳定网络下的SHELL优化——MOSH安装详解

来自:萌爪实验室
时间:2018-09-23
阅读:

Mosh,是一种基于UDP传输的Shell连接方式。他支持在服务端创建一个临时的Key供客户端一次性连接,退出后失效。软件的设计初衷,就是针对诸如移动网络,或者高延迟、高丢包环境下的一种最佳解决方案。

起因嘛……还是朋友那台加拿大的OVH服务器,因为OVH默认的回国线路稀烂,就算在服务器上安装了锐速,在大陆访问VPS服务器后,也无法得到丝滑般的Shell体验。

后来和一群哥们在群里聊天的时候得知,有一个叫做Mosh的软件,对稀烂网络下Shell的体验有蜜汁优化,于是,诞生了本篇教程。全文分为两个部分,第一部分介绍在Ubuntu12.04+/Debian7+安装的方法,第二部分,介绍在CentOS7+下的安装步骤。

前提条件:
1、服务器系统:Ubuntu12.04+/Debian7+/CentOS7+
2、服务器内存:≥256MB
2、网络要求:    支持来自60000-61000端口UDP的连接

第一部分 Ubuntu12.04+ / Debian7+

1、以root账户登陆,防止系统过于精简,先更新系统软件源

apt-get update -y
# 更新软件源

2、安装Mosh服务器端

apt-get install -y mosh
# Debian/Ubuntu安装Mosh服务器

3、为了防止出现乱码,安装locales组件

apt-get install locales
# 安装locales组件

4、添加对en_US.UTF-8的支持

echo -n "ZXhwb3J0IExDX0FMTD0iZW5fVVMuVVRGLTgi" | base64 -d >> ~/.bashrc
# 添加对en_US.UTF-8的支持,并写入~/.bashrc

5、写入locale配置文件,保存设置

localedef -v -c -i en_US -f UTF-8 en_US.UTF-8
# 写入locale配置文件

6、开启60000到61000的端口

ufw allow 60000:61000/udp
# 开放 60000 - 61000端口
# 如果提示:ufw: command not found
# 尝试使用iptables来放行端口
iptables -I INPUT 1 -p udp --dport 60000:61000 -j ACCEPT
# 开放 60000 - 61000端口

第二部分 CentOS7+

1、以root账户登陆,防止系统过于精简,先更新系统及软件

yum update -y
 
# 更新系统及软件

2、安装EPEL软件源

yum install -y epel-release
yum makecache
# 安装EPEL软件源,并刷新缓存

3、安装Mosh服务器端

yum install -y mosh
# CentOS7+ 安装Mosh服务器

4、开启60000到61000的端口

ufw allow 60000:61000/udp
# 开放 60000 - 61000端口
# 如果提示:ufw: command not found
# 尝试使用iptables来放行端口
iptables -I INPUT 1 -p udp --dport 60000:61000 -j ACCEPT
# 开放 60000 - 61000端口

内容补充:
补充1:阿里云腾讯云 开放Mosh服务端口说明
Mosh基于UDP传输的Shell连接方式,使用的端口是从60000到61000,需要在阿里云、腾讯云的后台控制面板开启相应的UDP端口。

Mosh will use the first avAIlable UDP port, starting at 60001 and stopping at 60999. If you are only going to have a small handful of concurrent sessions on a server, then you can forward a smaller range of ports (e.g., 60000 to 60010).

补充2:由于Mosh首次连接过程中,需要通过走TCP进行身份验证,故Mosh并不能抵御来自TCP的网络封锁。

返回顶部
顶部