ssh port forwarding

サーバー管理用のrailsアプリ作ってて、セキュアに自分だけそれを見る方法がないか探してたらちょうど良い方法があった。

ssh port forwarding

ssh foo@barで接続できるサーバーでlocalhost:3000にrailsアプリをデプロイしているとする。
まず以下のようなコマンドを打つ。

ssh -L 8080:127.0.0.1:3000 foo@bar

すると、http://localhost:8080/でそのrailsアプリが見れる。

.ssh/config

Host bar
  Hostname xxx.xxx.xxx.xxx
  Port xxxx
  User foo
  IdentityFile ~/.ssh/id_rsa.xxxx
  LocalForward 8080 127.0.0.1:3000

こうしておくと、ssh barで上と同じことができる。
この用途で使う場合は-Nオプションをつけるのが良さそう。

GatewayPorts yesにしたり、-gオプションをつけると他の人も見れて危険なので注意。