ssh协议的现代化——mosh的安装

芬兰研究员Tatu Ylönen于1995年设计出最早的SSH协议,它迅速成为最流行的远程登录安全协议。17年后,一组MIT的黑客提出了mosh,让SSH走向现代化。mosh是基于新的State Synchronization Protocol(SSP)协议,运行在UDP上,能同步不同主机对象的状态,加密和认证使用AES-128。当客户在WiFi网络中漫游或切换到3G网络,mosh能保持连接不断,在输入和删除命令时它能即时反馈,不会出现恼人的延迟。 

mosh针对不同版本的linux版本有不同的自动安装方官方站点的自动安装方法。我这里主要介绍下手动安装的方法:

首先,mosh的安装需要Protocol Buffers、ncurses、zlib、IO::Pty Perl模块环境。

特点:在高延迟的网络下,mosh比ssh流畅多了,而且在3G网络下,丢失网络变更IP后,终端连接不会中断。另外,mosh对编码的转换上,比其他终端有不少优势。具体可以官网上的用法介绍

wget http://cloud.github.com/downloads/keithw/mosh/mosh-1.2.tar.gz
./configure
make
make install

安装过程时,如果没有protocol 环境会报configure: error: cannot find protoc, the Protocol Buffers compiler 的错误。centos/redhat官方的源中没有protocol包,如果有第三方源且包含该包,可通过yum安装。 我这里是直接安装的:

wget http://protobuf.googlecode.com/files/protobuf-2.4.1.tar.bz2
tar jzvf protobuf-2.4.1.tar.bz2
./configure --prefix=/usr --libdir=/usr/lib --sysconfdir=/etc
make
make install

按照上面的方面安装完protobuf包后,再去安装mosh就不会报上面的错误了。安装完成后,在使用的时候可能报下面的错误:

./mosh --help
Can't locate IO/Pty.pm in @INC (@INC contains: /usr/local/lib64/perl5 /usr/local/share/perl5 /usr/lib64/perl5/vendor_perl /usr/share/perl5/vendor_perl /usr/lib64/perl5 /usr/share/perl5 .) at ./mosh line 24.
BEGIN failed--compilation aborted at ./mosh line 24.
解决方法:cpan 安装IO::Pty模块

wget http://mirrors.sohu.com/CPAN/authors/id/T/TO/TODDR/IO-Tty-1.10.tar.gz
tar zxvf IO-Tty-1.10.tar.gz
cd IO-Tty-1.10
perl Makefile.PL
make test
make install

至此,mosh的安装就完成了!不过想要通过mosh连结其他linux服务器,需要其他服务器上也安装mosh-server端才行。

注:mosh相对于ssh而言仍属于轻量级产品,在生产使用中还是建议使用ssh。

目前不支持的功能,但未来可能新增的功能:

 1. Forwarding of X11, SSH agent, etc . 

 2. IPv6, with roaming between v4 and v6

 3. Android client 




本站的发展离不开您的资助,金额随意,欢迎来赏!

You can donate through PayPal.
My paypal id: itybku@139.com
Paypal page: https://www.paypal.me/361way

分类: 开源软件 标签:
  1. 本文目前尚无任何评论.