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账户登陆,防止系统过于精简,先更新系统软件源
1 2 3 |
apt-get update -y # 更新软件源 |
2、安装Mosh服务器端
1 2 3 |
apt-get install -y mosh # Debian/Ubuntu安装Mosh服务器 |
3、为了防止出现乱码,安装locales组件
1 2 3 |
apt-get install locales # 安装locales组件 |
4、添加对en_US.UTF-8的支持
1 2 3 |
echo -n "ZXhwb3J0IExDX0FMTD0iZW5fVVMuVVRGLTgi" | base64 -d >> ~/.bashrc # 添加对en_US.UTF-8的支持,并写入~/.bashrc |
5、写入locale配置文件,保存设置
1 2 3 |
localedef -v -c -i en_US -f UTF-8 en_US.UTF-8 # 写入locale配置文件 |
6、开启60000到61000的端口
1 2 3 4 5 6 7 8 |
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账户登陆,防止系统过于精简,先更新系统及软件
1 2 3 |
yum update -y # 更新系统及软件 |
2、安装EPEL软件源
1 2 3 4 |
yum install -y epel-release yum makecache # 安装EPEL软件源,并刷新缓存 |
3、安装Mosh服务器端
1 2 3 |
yum install -y mosh # CentOS7+ 安装Mosh服务器 |
4、开启60000到61000的端口
1 2 3 4 5 6 7 8 |
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的网络封锁。(2018-06-20)
文章修订:
修订版本1:2018-06-20 添加关于“抵御网络封锁”的描述。
修订版本2:2018-07-04 新增CentOS7+系统下的安装教程。
修订版本3:2018-07-04 偶然发现手里的一台VPS服务器在安装了Mosh后无法连接,经过一番检查,发现是端口的没有开放。本次修订新增开放端口的步骤,以解决在部分机器上提示UDP端口无法连通的问题。
本文原创,允许转载。转载请注明出处,谢谢!本文链接:https://www.mengclaw.com/2018/06/11/202/
版权所有©2018萌爪实验室
不错解析的很好
感谢分享 回头去试试效果 是丝般顺滑?
给力!谢谢分享!