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

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

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

CentOS (2) Linux (29) Mosh (5)

ノート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)

新しいコメントを投稿




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

    ブログが趣味で、スマホアプリの利用中に発生するトラブルや不具合の対策手順や障害情報、 設定の変更方法などについて、解説記事をよく書いています。

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

    最近の関心は、スマホやパソコンが苦手な人の行動や思考、そしてそんな人を手助けする方法です。

    Amazonのアソシエイトとして、did2は適格販売により収入を得ています。

    RSS | Facebook | Twitter | About