As rookie

ルーキーインフラエンジニアがインフラのこと以外も結構書いてしまうブログ

SSHポートフォワーディングでIP制限されたWebサイトを閲覧する

本題

踏み台サーバーなど制限されたIPからの通信しか許可しないWebサーバーがある。
PC(クライアントPC)から踏み台を利用したSSHポートフォワーディングを行うことにより、Webサーバーからのレスポンスをブラウザで表示する。

f:id:shigeru-mokicks:20200320140604p:plain

クライアントPCはWindowsでもMacでもsshが実行できるターミナルなら問題なし。

前提

  • クライアントPCから踏み台サーバーにSSHができる
  • 踏み台サーバーからWebサーバーにHTTP(S)リクエストが行える

コマンド

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

オプション

  • -f : バックグラウンドで実行
  • -N : リモートでコマンドを実行しない(指定しない場合、SSHでのコネクションはリモートでシェルが起動する。)
  • -4 : IPv4のみ
  • -C : セッションの圧縮

ブラウザから確認

ブラウザから localhost:<クライアントPCで使うポート> で指定したポートにアクセスすると、Webサーバーのレスポンス(HTMLなど)が確認できる。
例では localhost:443 にアクセスする。

localhostにアクセスしているのにWebサーバーのレスポンスが表示されているのが確認できる。

Tips

あとがき

ブログを1年以上更新していないことに気づいた。
最近全然成長している気がしないなぁ......と感じていたのはこのせいだとおもう。
時間が有る限りブログを書きたいと思った