ssh卡顿还经常掉线(试下mosh吧!)
Mosh,又名Mobile Shell,是交互式终端ssh的替代品。
与ssh相比,mosh的优势如下:
1. 在wifi与蜂窝数据间任意切换网络,mosh连接不受影响。
2. 永远保持连接。计算机随时可以休眠,重新唤醒后,mosh连接完好无损, 除非你手动把进程kill掉。
3. 无网络延迟。在你打字的时候,ssh会等待服务器的响应。而mosh正好相反,不管是在输入、删除还是编辑行,mosh都会即时响应,让你有种丝般顺滑的感觉。
mosh运行原理
mosh包含两个程序,mosh-client和mosh-server。客户端与服务端都需要安装mosh,但不需要手动启动mosh-client或者mosh-server,因为每次使用mosh,这两个程序都是自动启动的。
默认情况下,mosh会通过ssh连接到服务器,然后在服务端启动mosh-server。接着他关闭ssh连接,在客户端启动mosh-client并通过UDP连接上服务器。之后这个连接一直存在,用户可以通过mosh做以前ssh能做的一切操作。除非mosh-client被kill掉,这个连接会一直保持,不管网络掉线还是客户端异常。
ps. mosh使用的是60000到61000的端口。
如何安装
ps. 本文只针对CentOS系统,其他系统的安装请参考mosh官网??
https://mosh.org/
CentOS下,最快的安装方式是使用yum。
yum install mosh
文章图片
图片发自App 如果提示无法匹配,那么你需要扩展yum源,安装epel库。
扩展yum源 首先,确认你的CentOS版本。
cat /etc/redhat-release
文章图片
图片发自App 笔者的操作系统是CentOS 7,所以需执行:
yum install https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpmps. 其他版本的系统可在以下链接获取到相应命令。
https://fedoraproject.org/wiki/EPEL
需知此时epel源虽已安装,但是并没有生效,需使用yum-config-manager命令手动启用。
# 启用epel库
yum-config-manager --enable epel
# 刷新仓库缓存
yum clean all && yum makecache
ps. 可以使用yum repolist [all|enabled|disabled]来查看yum的所有/已启用/已禁用的仓库列表。
# 查看目前已启用的仓库,可以看到epel的仓库已启用。
yum repolist
文章图片
epel安装好后,就可以使用yum安装mosh啦,安装后无需手动启动。
yum -y install mosh
文章图片
安装成功,现在可以在客户端尝试连接啦~
如何运行 1. 如果你没有修改过ssh的端口,只需在客户端执行?
mosh root@203.109.86.122. 如果已修改ssh端口,则需通过-P指定ssh的端口(注意-P是大写哦~(?ì _ í?)
mosh -P 29806 root@203.109.86.12
最后 mosh也并不全是优点,他有个bug,输出超过一屏时,只显示最后一屏的内容,不支持回滚。所以需要查看全部输出时,可在命令后加上”| less”来翻页查看。
不过这个问题跟永不掉线和丝般顺滑比起来,真的无伤大雅了。
听说这个问题会在新版本修复,敬请期待吧。。
【ssh卡顿还经常掉线(试下mosh吧!)】最后的最后,推荐一个app呀,ios的Blink,可以连接服务器,而且支持mosh哟,每次mosh连上服务器后,不管ipad待机多久,都不用担心掉线,随时打开随时用,感觉真的棒极啦~
推荐阅读
- 学无止境,人生还很长
- gitlab|gitlab 通过备份还原 admin/runner 500 Internal Server Error
- 幸福的婚姻不争对错!读《你要的是幸福还是对错》有感。
- 高大上还是路边摊
- 晚点的末班车
- 昨晚做春梦了吗(教给你怎么做最厉害的!梦里还有维多利亚的天使)
- 阴雨
- SSH|SSH 免密
- 人生游戏--是游戏,还是人生()
- 请叫我冉责编