たけまるの日記

たけまるの日記です。web関係の技術ネタが多いですが、好きなことを適当に書いています。

sshを繋ぎっぱなしにするautossh for mac

sshって結構切れます。 特に一定時間何もコマンドを打っていなかったり、画面に変化がないようなアイドル時間が一定以上続くと切れます。 sshをトンネリングで使っていると切れると困るので、切れても自動で再接続してくれるようにしましょう。

まずはHomebrewでautosshをインストール。

$ brew install autossh

あとは以下のコマンドを打つだけ。

$ autossh -f -M 0 -N -D 1080 -o "ServerAliveInterval 45" -o "ServerAliveCountMax 2" user@host

簡単にオプションについて

  • -f バックグラウンドで動かす

  • -M 0 よくわからんのでおまじない的

autosshの他、以下のように透過的にsshのオプションを指定できる

  • -N シェルを使わない

  • -D 指定ポートでSocks5として振る舞う autosshを使う最大の目的

  • -o sshのパラメータを指定 詳細は以下

  • ServerAliveInterval 45 切断防止のため、指定秒数間隔で応答確認をする

  • ServerAliveCountMax 2 指定回数応答がない場合は切断する(その場合autosshが再接続する)

autosshの終了

$ killall autossh