sshの接続切れが面倒な人は、mosh(Mobile Shell)を使った方がいい


こんにちは、@9ensanです。

mosh-install-setting-01

コンソールからサーバーへの接続に何を使っていますか?
大体の人は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のコマンドの補完が効くようになるので、さらに便利です。

.

関連する記事:

Facebookでコメント

コメント

  1. コメント 0

  1. トラックバック 0

*

return top