スポンサード リンク
外部ネットワークのPC client-pc からプライベートLANの中のサーバ target へのアクセスは,踏み台サーバ ssh-gateway を経由したSSH接続しか許可されていないというのはよくあるシチュエーション。
note-pc --ssh--> ssh-gateway --ssh--> target
そんな状況下で,一時的にWebサーバを立てるため, target のポートを外に露出させたくなるのも良くあること。 これにsshのポートフォワーディングで対応する方法をメモしておく。
target の8000番ポートを note-pc の80番ポートからアクセスできるようにするには note-pc から以下のオプションでssh接続する。
ssh -R 80:target:8000 user@ssh-gateway
上記のオプションでは, note-pc からのlocalhost:80へのアクセスのみtarget:8000へ転送される。 他のPCからnote-pc:80へのアクセスも転送するには -g オプションを付加してssh接続する。
実用を考えると,バックグラウンドで実行するためのオプションを幾つかつけて,以下のコマンドが有用だろう。
ssh -t -f -N -g -R 80:target:8000 user@ssh-gateway
余談だが,動作確認のためにwgetを使うときは, -O - オプションを付けて標準出力へ吐き出すようにすると便利。
wget http://notepc:80 -O -
Comments !