移動中でもモバイルからサーバ管理できる Mosh

移動中でもモバイルからサーバ管理できる Mosh

ssh

一般的なサーバへアクセスするとき、 ssh で接続することが多いと思います。
会社や安定した回線であれば問題なく接続できますが、電車などの移動中や不安定な回線のとき、 ssh が切れてしまい何度もログインし直さなければいけないことがあります。そのため外出中に急な対応が必要なときは、安定した回線を探し作業を行うことも多々あります。

Mosh

そこで利用したいのが Mosh (Mobile Shell) です。 ssh では接続が切れるとセッションが破棄されてしまうため、不安定な回線では有効ではありません。一方 Mosh は、接続が切れたとしても再度接続されれば自動的にセッションが復旧されます。

Mosh インストール

それでは実際に Mosh を利用してみましょう。
まずは Mosh をインストールします。今回は AWS EC2 において、 Ubuntu 22.04 のインスタンスに Mosh をインストールしてみましょう。

インスタンスに接続するし、いつもの通り apt でインストールします。

$ sudo apt update $ sudo apt install mosh

Mosh のポートを開放

Mosh を利用するには UDP の 60000 ~ 61000 を開放しておきます。今回は AWS EC2 を利用していますので紐づいているセキュリティグループのインバウンドルールから次のように設定しました。


モバイルから接続確認

今回は Android にインストールした JuiceSSH からサーバへ Mosh で接続してみます。
https://play.google.com/store/apps/details?id=com.sonelli.juicessh&hl=ja&gl=US

これまでサーバへは pem ファイルを用い ssh で接続していたので、 Mosh においても引き続きプライベートキーには pem ファイルを利用します。そのため、認証情報のプライベートキーに pem ファイルの内容をコピーして保存します。

接続の設定では、下記のように設定します。

  • 種類 … Mosh
  • アドレス … サーバのアドレス
  • ポート … ssh のポート
そして接続すると無事次のように接続できました。

画面が寂しかったので top コマンドを実行していますが、問題なく接続できていることが判ります。

まとめ

今回は不安定なネットワークでもサーバ管理可能な Mosh を紹介しました。私の場合、特に電車の中から作業が必要な時などは大活躍しています。一度設定してしまえば、後はいつもの通り利用できるので、大した手間ではないですね。ぜひ利用してみてください。
» エンジニア登録はこちら