さくらの VPS にモバイル時代の SSH の代替品 Mosh をインストールしてみた
Mosh というのが話題になっているようですので、さくらの VPS サーバにインストールしてみました。Mosh とは mobile shell の略で、SSH の代替品だそうです。
- IP アドレスが変わっても接続が切れない
- スリープから復帰しても接続が切れない
- サーバの応答を待たないのでネットワークラグがない
とか。ただし、Mosh は認証に SSH を使いますので、SSH を削除して使うことはできません。
CentOS 6.2 用の mosh の RPM はないようですので、今回は RPM をビルドしてインストールしました。
RPM のビルド環境の構築
以下のパッケージが必要になりますが、すでにインストール済みでした。
$ sudo yum install rpm-build $ sudo yum install redhat-rpm-config $ sudo yum install make gcc
RPM をビルドするためのフォルダを作成します。
$ mkdir -p ~/rpmbuild/{BUILD,RPMS,SOURCES,SPECS,SRPMS} $ echo '%_topdir %(echo $HOME)/rpmbuild' > ~/.rpmmacros
Mosh の RPM の作成
ビルドに必要なパッケージをインストールします。
$ sudo yum -y install protobuf-compiler protobuf-devel $ sudo yum -y install libutempter-devel $ sudo yum -y install boost-devel $ sudo yum -y install ncurses-devel $ sudo yum -y install zlib-devel
Rawhide から SRPM を取得してビルドしてみたら、できました。
$ wget http://dl.fedoraproject.org/pub/fedora/linux/development/rawhide/source/SRPMS/m/mosh-1.1.1-1.fc18.src.rpm $ rpmbuild --rebuild mosh-1.1.1-1.fc18.src.rpm
さくらの VPS サーバに Mosh をインストール
依存関係で perl-IO-Tty が必要でした。
$ sudm yum -y install perl-IO-Tty $ sudo rpm -i rpmbuild/RPMS/x86_64/mosh-1.1.1-1.el6.x86_64.rpm
iptables の設定
mosh は、SSH でユーザがログインした後、サーバ上で mosh-server を起動し、UDP ポート 60000〜61000 を使用します。そのポートを開ける必要があります。
iptables の設定に以下を追加しました。
iptables -A INPUT -p udp -m udp --dport 60000:61000 -j ACCEPT
iptables の設定を変更した後は、忘れずに保存しましょう。
$ sudo service iptables save
Ubuntu 11.10 に Mosh をインストール
$ sudo add-apt-repository ppa:keithw/mosh $ sudo apt-get update $ sudo apt-get install mosh
http://mosh.mit.edu/ に、Mac 版や他の Linux、FreeBSD でのインストール方法が記載されています。Windows 版はないようです。