sshの接続切れが面倒な人は、mosh(Mobile Shell)を使った方がいい
こんにちは、@9ensanです。
コンソールからサーバーへの接続に何を使っていますか?
大体の人はsshで接続していると思います。
sshで一番煩わしいのが、移動や、スリープからの復帰時などでネットワークが切れた時に、サーバーとの接続が切れてしまう事、切れるたびに再接続の必要がいるわけで…、移動が頻繁な人にとってはとても面倒です。
この面倒な作業をやってくれるのが「mosh(Mobile Shell)」です。
moshを利用して接続していると、スリープ時などに発生するネットワーク切れてsshが切断されても、次回ネットワークが繋がった時に自動的に接続を復帰してくれます。
また認証はSSHの機能で行ってくれるので、今までSSHを使っていた場合は、新たにユーザー認証の設定は必要ありません。
こんな便利なもの使わない理由がないので使ってみたら、本当にサーバーとの接続が永続化されるのでとても便利です。
この便利なmoshをどうやって設定すればいいのか解説していきます。
それではインストール方法から解説していきます。
インストール
Mac
Homebrewを使ってbrewコマンドでインストールできます。
brew install mobile-shell
これでインストール完了です。
すごく簡単ですね!
サーバー
CentOSにインストールする場合は、yumでインストールできます。
yum install mosh
これでインストール完了です。
サーバー側もすごく簡単ですね!
設定
続いて設定です。
SSHの設定
クライアント側のsshに関する設定は「~/.ssh/config」の設定を利用してくれます。
今までsshを利用して接続していた人は、特に設定の変更は必要ありません。
iptablesの設定
iptablesを利用して通信ポートの制限をしていた場合の対応方法です。
他のファイアウォールを利用してポート制限をしている場合は、他のファイアウォールの設定を変更する必要があります。
サーバーとの接続にudpの60000-61000番ポートを使用しているので、iptablesの設定でポートを開放します。
「/etc/sysconfig/iptables」以下の1行を追加します。
-A RH-Firewall-1-INPUT -m state --state NEW -m udp -p udp --dport 60000:61000 -j ACCEPT
(iptablesコマンドでも追加可能です。RH-Firewall-1-INPUTはINPUT、FORWRDを合わせたチェーンの名前です。)
iptablesをリスタートして設定を反映させます。
sudo /etc/init.d/iptables reload
使用方法
ssh hogehoge@123.123.123.123
で接続していた場合
mosh hogehoge@123.123.123.123
と変更するだけです。
これで、煩わしいサーバーへの再接続がmoshが行ってくれるので、色々な場所で作業している人にはとてもオススメです。
騙されたと思って試してみてはいかがでしょうか。
最後に、
compdef mosh=ssh
.zshrcなどにこの1行を追加すると、sshのコマンドの補完が効くようになるので、さらに便利です。
.
関連する記事:
- さくらのVPSへのiptablesの設定
- さくらのVPSを設定する
- さくらのVPSでLogwatchを設定、メール送信まで
- さくらのVPSにmysqlのインストールと設定
- Railsの起動時に、「Could not find a JavaScript runtime.」と出た場合の対処方法
コメント 0