sshポートフォワーディング 〜俗に言うトンネルを掘ると言う事〜

はじめに

今更ですがsshポートフォワーディングについて理解が不足していたので、まとめたいと思います。今回実施するのはローカルポートフォワーディングです。つまり接続したいサーバポートにローカルポートを繋ぎます。

  • PC-A
    • ローカル端末
  • SV-A
    • 目的地サーバ
  • SV-B
    • 踏み台サーバ

例えばPC-AからSV-Aに接続したいけど直接は接続出来ないという状況が往々にしてあります。しかしSV-BからSV-Aには接続が可能で、PC-AもSV-Bには接続が可能です。そこでPC-AのポートをSV-Bを踏み台にしてSV-Aのポートに転送します。

コマンド

ローカル端末から下記コマンドを実行します。

$ ssh -i 【秘密鍵】 【踏み台サーバユーザ】@【踏み台サーバホスト名】 -L 【ローカルポート】:【目的地サーバホスト名】:【目的地サーバポート】
  • 秘密鍵がない場合は省略してパスワードを入力
  • ローカルポート
    • 10000(?)以下は管理者権限で実行
    • 今回は仮に10022とします

成功したら踏み台にログインすると思います。別タブでターミナルを開き下記コマンドを実行します。

$ ssh -i 【秘密鍵】 【目的地サーバユーザ】@localhost -p 10022

ワンライナー

コンフィグによる設定もまとめる予定です。

Host fWeb
	HostName 【踏み台サーバホスト名】
	User centos
	LocalForward 【ローカルポート】 【目的地サーバホスト名】:【目的地サーバポート】
	IdentityFile 【秘密鍵】

下記コマンドを実行します。

$ ssh fWeb

同様に踏み台サーバにログインしますので別タブから転送したローカルポートに接続して下さい。以上です。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

CAPTCHA