SSHトンネルでhttpに接続する

2020.2.22 (土)

LAN内でしか動かないWEBシステムを見るときには非常に便利。VPNなどが最も楽であるのは事実なのですが設備を導入すること自体が非常に敷居が高いし設定するまで手間がかかるので、SSHさえ接続できれば踏み台サーバーから中に入ってブラウザーで見ることができるっつうやつです。まずは踏み台サーバーがすでにあることを前提としているので踏み台サーバーにアクセスできるところから始めます。
正確にいうとPort Forwardとか言うのだけど、このあたりの説明は他のサイトでも図解で詳しく説明してくれているので割愛。
コマンドラインで行う場合は、

$ ssh -v -N -L localhost:8888:192.168.0.3:80 -i /SSHKEY/ -p 1206 user@123.456.789.xxx

こういうようなかたちになります。
踏み台サーバー(123.456.789.xxx)に-i /SSHKEY/でログインしwebサイトの192.168.0.3:80にアクセスします。コンソール上でSSHトンネルが確立されるとプロンプトの待ち状態になります。この状態を保持したまま、実際にアクセスする際はエイリアス的なlocalhost:8888にアクセスすることになります。これで終わりといえば終わり。
複数のwebサーバーにブラウザーでアクセスするときは、別のエイリアスを作成して新しいトンネルを掘ればOKです。