mosh + byobu で快適リモート接続
新しく借りたさくらのVPSサーバへのアクセスに、SSHの代わりに今話題のMoshを使うことにした。MoshはMobile Shellの略で、通信環境が不安定なモバイル環境でも安定したリモート接続を実現するための仕組み。
moshに加えて、VPSサーバ側に screen のラッパーである byobu を入れたら、モバイルに限らず自宅で使うだけでも快適なリモート接続環境が実現できた。
- mosh でVPSサーバに接続し、byobuで複数のウインドウを立ち上げる。
- byobuのステータスラインにサーバの状況(CPU, メモリ, 現在時刻)が表示される
- それぞれのウインドウで、プロセス一覧(top)やログ(tail -f)を立ち上げておく
ウインドウはこんな状態になる。ここまでは普通のSSH + screenでも同じ。標準でステータスラインが綺麗に表示されるのはbyobuのおかげ。
moshの利点は、接続元のノートPC(MacBook Pro)をスリープから復帰しても、サーバとのセッションが残っていること。MacBook Proを開くと、いつでも何事も無かったかのようにコンソール画面が表示されている。まるでローカル上に動いているみたい。冷静に考えれば、SSHで接続してbyobuを起動するのと同じなんだけど、この一手間が省けるだけで便利さが全然違う。
もちろん、ノートPCを別の場所に移動しても、サーバとのセッションは残ったまま。ちょっと不思議な気分。便利な反面、セキュリティには気を使わないといけない。リモートでsudo -s
したままで、スリープからの復帰にパスワードを使用しないとかは危険。
インストール
サーバ側 (Ubuntu) は apt-get mosh byobu
。クライアント (Mac) 側は公式サイトからバイナリを入手。
参考
mosh関連
- mosh: MITからモバイル時代のSSH代替品 - karasuyamatenguの日記
- さくらVPSにSSH代替品のMoshを入れてみた - Glide Note - グライドノート
- Ubuntu Weekly Recipe:第220回 Ubuntuでモバイルシェル「Mosh」を使う|gihyo.jp … 技術評論社
byobu関連