ssh接続を維持し続けるautosshの使い方
タグ: ssh / 初版公開: 2013-07-16

sshコマンドの-Lや-Rオプションを使えば、リモートホストとの間でポートフォワーディングを行うことができる。

ポートフォワーディングは、内部のホストを踏み台にして、ファイアウォール内にアクセスする際に大変便利だ。しかし、回線の不具合やリモートホストの再起動などで、接続が切断されてしまう場合もある。

このような切断されると困るssh接続には、autosshを活用すると良い。autosshは、ssh接続が切断されても自動的に再接続してくれるプログラムだ。debianではaptでインストールできる。

apt-get install autossh

オプションを含め、使い方はsshコマンドと変わらない。単にsshコマンドの代わりにautosshコマンドを使えば、そのssh接続が切断された場合、自動的に再接続して接続が維持できる。

例えば、以下ではローカルホストのポート8080を、example.comのポート80にフォワーディングする接続を維持する事になる。

autossh -L 8080:example.com:80 hostname

autosshコマンドを使っても、sshと同様に、接続先でexitすればautosshコマンドは終了する。screenを併用するなどして、接続し続けるようにすると良いだろう。