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 コマンドを実行していますが、問題なく接続できていることが判ります。