使用Mosh来改善你的SSH连接

今天看到一篇安利iTerm2的文章,在文章介绍了mosh,支持断续连接,当时就很心动,果断进官网看看详情:

Mosh:https://mosh.mit.edu/

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端口的关闭请谨慎操作。

如果您觉得文章不错,可以通过赞助支持我

标签: centos, 命令, 使用, OS X

添加新评论