SSHポートフォワーディングでIP制限されたWebサイトを閲覧する
本題
踏み台サーバーなど制限されたIPからの通信しか許可しないWebサーバーがある。
PC(クライアントPC)から踏み台を利用したSSHポートフォワーディングを行うことにより、Webサーバーからのレスポンスをブラウザで表示する。
クライアントPCはWindowsでもMacでもsshが実行できるターミナルなら問題なし。
前提
コマンド
ssh -i <SSHの秘密鍵> -f -N -L <クライアントPCで使うポート>:<WebサーバーのIPアドレス>:<Webサーバーがリッスンしているポート> user@<踏み台のIPアドレス>
例
ssh -i ~/.ssh/id_rsa -f -N -L 443:153.122.84.228:443 user@192.168.0.1
オプション
ブラウザから確認
ブラウザから localhost:<クライアントPCで使うポート>
で指定したポートにアクセスすると、Webサーバーのレスポンス(HTMLなど)が確認できる。
例では localhost:443
にアクセスする。
localhostにアクセスしているのにWebサーバーのレスポンスが表示されているのが確認できる。
Tips
- Macは
sudo
必要 - Windowsの場合もGit BashなどのSSHクライアントを使えば利用可能
- WebサーバーがAWS ALBの場合、DNSラウンドロビンされているので、
dig
してからIPアドレスを確認してからポートフォワーディングする- ドメインでできない場合があった。
あとがき
ブログを1年以上更新していないことに気づいた。
最近全然成長している気がしないなぁ......と感じていたのはこのせいだとおもう。
時間が有る限りブログを書きたいと思った