サーバー管理用の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
オプションをつけると他の人も見れて危険なので注意。