シンプルな構成で SSH ローカルポートフォワード
2025 年 7 月にシステム開発部に加わりました goa です!
趣味はサウナです。家事を時短できると喜びを感じます。
今回の記事では、わかっていなかった SSH ローカルポートフォワードについてシンプルな構成で動作検証していきたいと思います。
SSH ローカルポートフォワードとは
SSH ローカルポートフォワードは、ローカルマシンの特定のポートに届いた通信を、SSH 接続を介してリモートサーバーの特定のポートに転送する機能です。
外部へ公開していないサーバーに対して、踏み台サーバーを経由した通信を行う際に使用されることが多いと思います。
動作検証
検証内容
今回はシンプルな検証として、 EC2 上の Python HTTP サーバー(ポート 8000)にローカル PC(localhost:18000)からアクセスできることを確認していきます。
環境設定
EC2
パブリックサブネットで EC2 インスタンスを起動します。
キーペアファイル(.pem)を ~/.ssh/key-pair.pem に保存しているものとして以降の説明を進めます。
EC2 セキュリティグループ
セキュリティグループで以下のルールを設定します。
| タイプ | ポート | ソース |
|---|---|---|
| SSH | 22 | 自宅のIP |
EC2 内 Python サーバー
EC2 インスタンスにログインして、Python HTTP サーバーを起動します。
# EC2 インスタンスにログイン
ssh -i ~/.ssh/key-pair.pem ec2-user@<EC2のパブリックIP>
# 表示用の HTML ファイルを作成
cat << 'EOF' > index.html
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
</head>
<body>
<p>SSH ローカルポートフォワード経由でアクセス成功</p>
</body>
</html>
EOF
# Python HTTP サーバーを起動(ポート 8000 でリッスン)
python3 -m http.server 8000
動作確認
SSH ローカルポートフォワードを実行
新しいターミナルを開き、以下のコマンドで SSH ローカルポートフォワードを実行します。
ssh -i ~/.ssh/key-pair.pem \
-L 18000:localhost:8000 \
ec2-user@<EC2のパブリックIP>
-
-L 18000:localhost:8000: ローカルの 18000 ポートを EC2 の localhost:8000 に転送
ブラウザで確認
レスポンスが確認できました。

今回はシンプルな検証でしたが、ポート番号や宛先ホストを変えることで、踏み台サーバー経由で外部公開していないリソースへ安全にアクセスできます。
最後に
TRUSTART株式会社は、一緒に働くメンバーを募集しています!
インターンメンバーも大募集中です!
興味を持っていただいた方は、ぜひ弊社のページをご確認ください!!!
「人とデータで全てを可能にする」 不動産領域に関連する、あらゆるビジネスのDX化にチャレンジし、「テクノロジー×人」の力で社会課題を解決するTRUSTART株式会社のテックブログです! 採用情報はこちら:trustart.co.jp/recruit/
Discussion