情報科学屋さんを目指す人のメモ

方法・手順・解説を書き残すブログ。私と同じことを繰り返さずに済むように。

SSHの代用ツール「Mosh」の紹介とインストール(CentOS)

CentOS (2) Linux (23) Mosh (3)

ノートPCからSSH接続していると、移動時(スリープ時)に再接続が必要になってしまったり、ちょっと面倒でした。そんな中、途中でWi-Fiから別のWi-Fiに回線を変更したり、スリープなどで接続(回線)が切れても、何事も無かったよう継続して利用できるSSHの代用ツール「Mosh」を導入したので、紹介します。

Mosh

Moshは、公式サイトに言わせれば、「Mosh is a replacement for SSH」です。

Moshの大ざっぱな仕組み(自分理解)を説明します。

まずSSHクライアントの代わりに、手元マシンで動かすのはMoshクライアントになります。

そしてその、Moshクライアントは、既存のSSHを利用して、Moshサーバへのログインを行います(SSHを使うのはこの最初だけ)。

それ以降、SSH接続時に交換した認証鍵を利用して、MoshサーバとMoshクライアントの間だけで通信(UDP)し、その通信では、SSHでは不便だった、接続が切れてしまったり、IPアドレスが変わるようなネットワーク環境の変化があっても、裏側で勝手によろしくやってくれて、ユーザは意識せず、端末を継続して利用できる、というような仕組みです(知らんけど)。

インストール

「CentOS mosh install」あたりでGoogle検索するといろいろソースコードからビルドする方法が出てきます。

が、結局次のコマンドでインストールできました。

$ sudo yum install mosh

インストールされたのは、以下のパッケージ。

mosh 1.2.4-1.el6
protobuf 2.3.0-9.el6

protobufは、ProtocolBufferです。

mosh server を起動?

ここで、mosh serverを起動しておかないと、と思ってしまったのですが、その必要はありません。難しい。

実は、moshクライアントがSSHを内部で使ってサーバに接続するときに、自分でmoshサーバを起動してくれます。

  • SSHを使ってログインする
  • mosh serverを起動する
  • mosh接続する

つまり、サーバー側でのmosh serverの起動は、クライアント主導で行われる、というわけ。

公式のusageにサーバを起動しておく系のコマンドが見当たらないのはそのためです

なので、もうこれで、サーバ側の準備は終了です(逆に言えば、SSHサーバはちゃんと起動しておく必要がある)。

使い方

で、クライアントはどうするの?という話ですが、Windowsでは、「MobaXterm」が始めから mosh に対応しているので、「おすすめの高機能SSHクライアント「MobaXterm」の使い方(基本編)」の手順序盤で「SSH」を選ばず「Mosh」を選択すれば、OKです。

あとは普通に、SSHの認証情報を設定してください。

実際に使って感じる効果

SSHからMoshに移行したことで、PCをスリープしたり、ネットワークが一時的に切れる環境を使ったり、無線LANの接続先を切り替えたりしても、何事も無かったかのように、SSHして、再接続作業を行うことなく、継続してSSH接続を利用できるようになりました。

主張してくるタイプの便利さではありませんが、たぶん通常のSSHに戻ってみたら、また切れた、と面倒さをかなり感じることになると思います。

コメント(0)

新しいコメントを投稿




  • カテゴリ ナビ
  • 著者紹介

    ブログが趣味で、 月間1,000万PV を達成しました。

    自分が困ったことをブログに書けば、次に困る人の参考になって、みんながみんな同じ苦労をせずに済む、というのが原点です。

    最近の関心は、スマホやパソコンに詳しくない人の行動や思考、 そしてそんな人を手助けする方法や枠組み。 また、それに関連するような、"身近な"セキュリティ。

    ※SNS(特にTwitter)でシェアされた記事は、内容の追加・更新を行っています。 必ず、ではありませんが、気に入った記事は積極的にシェアしてみてください。

    RSS | Facebook | Twitter | About