iwiwi 備忘録

学んだことを殴り書きます。自分向けのメモです。

リバーストンネル + autossh で ssh 開通

状況

  • マシン A に ssh したい
    • でも,マシン A はネットワークの内側にあって,外から ssh できない
  • マシン B は外から ssh できる
    • マシン B からマシン A に ssh できない
    • マシン A からマシン B に ssh できる

解決法

マシン A の crontab に以下を書いておく

@reboot /usr/bin/autossh -f -N <ほげほげ> -i <ぴよぴよ> -R 10022:localhost:<ふがふが>

これで,マシン B で以下を打てばマシン A に入れる.

ssh -p 10022 localhost

注意

ssh で使う鍵にパスフレーズがかかってると当然ながら失敗する.パスフレーズ無しの鍵を用意することになる.