『Mosh』はモバイル回線など通信が不安定なときにも、SSHをかなり快適にしてくれるアプリケーションです。移動が多い人や、スリープから復旧したときにターミナルの接続が再開されるようにしたい場合などに超オススメです!
「アルバイトを10秒で探せるiPhone/Androidアプリ Short.Works」の開発にもめっちゃ役に立っています!
🚕 Moshとは
Moshはモバイル回線など回線が不安定なときにも、快適にSSHができるツールです。
* IPアドレスが変更されても接続が継続する * サーバー接続途中でPCをスリープモード => 復帰でも自動で再開 * SSHの設定(~/.ssh/config)をそのまま使える
など至れりつくせりなツールです!
🗽 Moshのインストール
Mac側のインストールはこちら。
brew install mobile-shell |
CentOSへのインストールはこちら。
yum install mosh |
Ubuntuへのインストールはこちら。
sudo add-apt-repository ppa:keithw/mosh |
😎 UDPのポート解放
Moshを使う場合はUDPのポート60000-61000を解放しておく必要があります。
(実際には1セッションごとに1ポート使うので最大同時接続数が10セッションで足りるなら10個でいいそう)
AWSの場合はセキュリティグループの設定を変更。
ipテーブルsを変更する場合は、
# centos(redhat系) |
として、以下を追加。
-A RH-Firewall-1-INPUT -p udp -m udp --dport 60000:61000 -j ACCEPT |
その後に、sudo /etc/init.d/ipテーブルs restart
でipテーブルsを再起動。
🐹 接続方法
まずはいつ戻おり、~/.ssh/config
にこんなかんじでサーバ設定。
(SERVER_NAME, SERVER_IP, PORT_NUMBER, SSH_KEY_PATH, USER_NAMEは自分の接続先似合わせて変更)
Host SERVER_NAME |
完了したら、次のコマンドを実行すればsshとほぼ同じように接続できます!
mosh SERVER_NAME |
ライフハック!
🏀 おまけ: Moshのコネクションをクローズする
サーバで次のコマンドを実行するとMoshのコネクションをクローズできます!
kill `pidof mosh-server` |
参考: ssh - How do I reattach to a detached mosh session? - Stack Overflow
🎃 参考リンク
SSHの代わりになるかもしれない「Mosh」を使ってみました