简介
mosh其实我了解了很久了,就是一直没有写篇博客出来而已
做过坏事的人都知道,当我们去连接国外服务器的时候,网络一不好ssh连接就会断,典型处理这个问题的方法就是让ssh每隔多少时间就去发送一个心跳包,阻止ssh连接断,但是这个是一个不能制根本的方法,不需要多久ssh还是会断,如何使用心跳包你可以看下面这个博客
mosh 和ssh最主要的区别就是mosh使用的是udp协议连接的,所以连接的速度非常快,但是因为udp协议的不可靠性,所以最好不要在生产环境使用mosh
mosh有两个最强大的特点,第一个是会话终端不会终止前台运行的命令,这样就算你在执行编译,网络断了,编译也不会中断出现问题
还有一个是mosh在连接断了之后不会立刻退出,当网络恢复时候会自动重新连接
安装
首先不管你本地还是远程的服务器都要安装mosh,mosh几乎全平台安装包都有,如果你本地是mac
brew install mosh
接着在远程服务器安装mosh,如果你是debian系列的
sudo apt install mosh
安装完成之后并不需要启动远程server什么的,什么都不用做,直接本地连接到远程服务器即可
mosh [email protected]
默认mosh会在你远程服务器开一个60001udp端口,所以当你发现连接不到远程服务器,爆出下面的错误的时候
Nothing received from server on UDP port 60001
检查你云服务器上的防火墙开放相关端口即可
得益于mosh的简单操作性,所以在一定程度上只要你在本地和远程服务器上都安装了mosh,你可以直接使用mosh代替ssh
最后说个事,就是termius支持mosh了,如果你本地不想安装mosh的话那么安装termius也可以
欢迎关注我的博客www.bboy.app
Have Fun