Hatena::ブログ(Diary)

A Day in Serenity @ kenjis

2012-04-11

さくらの 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 版はないようです。

Ubuntu からさくらの VPS サーバにログイン

ssh の代わりに mosh コマンドを使います。

$ mosh ホスト名

~/.ssh/config にサーバの設定がしてあれば、例えば、次のようになります。

$ mosh sakura

参考

jpfjpf 2012/04/17 20:25 他の方法:
1) wget http://download.fedoraproject.org/pub/epel/6/i386/epel-release-6-5.noarch.rpm
2) rpm -hvi epel-release-6-5.noarch.rpm
3) /etc/yum.repos.d/epel-testing.repo を修正、[epel-testing]がenabled=1を設定する
4) yum install mosh

(すみません、僕の日本語はあまり良くないですが ...)

Kenji_sKenji_s 2012/04/17 21:36 おぉ、epel-testing に RPM あったんですね。情報ありがとうございます。

http://pkgs.org/centos-6-rhel-6/epel-testing-x86_64/mosh-1.1.1-1.el6.x86_64.rpm.html

投稿したコメントは管理者が承認するまで公開されません。

スパム対策のためのダミーです。もし見えても何も入力しないでください
ゲスト


画像認証