文章目录
  1. 1. oschina上的介绍
  2. 2. 实际感受
  3. 3. 用法
  4. 4. 另类的用法
  5. 5. 实现备用ssh

从昨天开始我在hostigation的vps上的sshd突然挂了,重启vps也没用,由于连接不上去也不知道是什么问题。所以昨天就发了一个tk过去,后来那边回复我说 maybe ddos 。搞的我很郁闷,今天早上用vps控制面板的 serial console 连接上去了,查看了一下发现是libcrypto.so这个lib找不到,后来用apt-get重装发现源有问题了,可能是上次更新了什么东西导致的。最后就把源里面的非官方源给去掉了,然后重装 openssh-client openssh-server ,恢复成功。后来在找寻解决ssh无法连接的备用远程控制方案的时候发现了mosh,据介绍是一款为解决移动设备上远程连接不稳定而开发的。

oschina上的介绍

Mosh 是 SSH 的替代品。

在高延迟的网络下,Mosh 比 SSH 流畅多了,而且3G网络下,丢失网络变更IP后,终端连接不会中断。

实际感受

实际测试后确实速度很快,连接美国的vps有时候用ssh延迟会很大,而用mosh就好很多了。

用法

mosh 可以通过 apt-get 安装,自己编译安装也不麻烦,至于用法就相当的简单了。

1
mosh root@hostaddress

实际上会使用 ssh 连接上 root@hostaddress 然后在服务器上启动 mosh-server,再用 mosh-client 使用udp方式连接 mosh-server,然后断掉 ssh 。

tip

mosh在客户端和服务器上都要安装

另类的用法

首先直接在服务器上启动 mosh-server。

1
mosh-server

然后会返回下面这样的结果:

1
2
3
4
5
6
7
8
9
MOSH CONNECT 60002 6kRV8FPGPgv9nnt6DlUSsw
mosh-server (mosh 1.1.3)
Copyright 2012 Keith Winstein <mosh-devel@mit.edu>
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>.
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.
[mosh-server detached, pid = 31075]

其中 60002 是端口,6kRV8FPGPgv9nnt6DlUSsw 是 KEY。这个 mosh-server 如果一段时间没有连接会自动关闭。

在被自动关闭前用 mosh-client 就可以直接绕过 ssh 直接连接上这个 mosh-server。

1
MOSH_KEY=6kRV8FPGPgv9nnt6DlUSsw mosh-client 192.168.0.22 60002

KEY 用环境变量的方式传进去。

实现备用ssh

可以考虑用 golang 或着其它语言实现一个 web server或着直接tcp server,然后通过这个界面执行 mosh-server

文章目录
  1. 1. oschina上的介绍
  2. 2. 实际感受
  3. 3. 用法
  4. 4. 另类的用法
  5. 5. 实现备用ssh