使用Mosh来改善你的SSH连接
今天看到一篇安利iTerm2的文章,在文章介绍了mosh,支持断续连接,当时就很心动,果断进官网看看详情:
mosh使用UDP(ssh使用的是tcp),能够在网络环境差的情况下也保持稳定和基本的使用(在我使用之后觉得流畅了许多,终于有心情折腾了)。
安装方法相当简单,跨平台性也相当好(除了iPhone和Windows Phone):
先在OSX中安装命令:brew install mobile-shell
之后我们就能够使用mosh usr@host
代替ssh usr@host
,当然在服务端中也需要安装mosh。
我用的是CentOS,直接yum install mosh
,之后mosh-server
,可以看到:
MOSH CONNECT 60001
运行netstat -anp | grep mosh
查看一下mosh对外的端口,我这里是60002
,这是为了设置iptables(如果开启防火墙的话),如果没有开启防火墙,现在已经可以顺利的连上了,mosh会读取ssh的配置并根据ssh的配置来运行,属于可以完美替代的类型。
如果你开启了iptables,记得在允许通过的规则列表中添加:
-A INPUT -p udp -m udp --dport 60002 -j ACCEPT
之后service iptables restart
即可,甚至可以愉快的关闭22端口的对外访问(但是并不是关闭ssh的意思)。
补充:发现关闭22端口之后如果重启电脑重新使用mosh usr@server
命令是无法进入的,需要打开22端口才可连入,但连入后可关闭22端口,所以对于22端口的关闭请谨慎操作。
植入部分
如果您觉得文章不错,可以通过赞助支持我。
如果您不希望打赏,也可以通过关闭广告屏蔽插件的形式帮助网站运作。