PortFowardを使い複数サーバ経由でアクセスする
クライアントPCのTeraTermからポート転送を駆使して目的サーバにアクセスします。
各サーバ間通信はSSHで接続、localhost:54321をServerC:443まで転送していきます。
1. 鍵認証ログイン
事前にServerA⇔ServerBにて鍵交換し、鍵認証ログインの準備をします。
この手順はServerA上で一回やればOK。
鍵生成(RSA4096bit例)
ssh-keygen -t rsa -b 4096
鍵交換
ssh-copy-id
コマンドで相手先サーバの~/.ssh/authorized_keys
に公開鍵を転送します。
要:user@ServerBのパスワード
ssh-copy-id uesr@ServerB
2. SSH設定
ServerA上で次の~/.ssh/configを設定します。
この手順も一回やればOKですが、転送先が増える場合は都度修正が必要です。
Host fumifumi HostName ServerB User User Port 22 IdentityFile ~/.ssh/id_rsa LocalForward 12345 ServerC:443
3. SSHログイン
ここからは毎回実施します。
ServerA上で以下のSSHコマンドを実行します。
設定したHostを指定することでパラメータがロードされ、鍵認証により接続可能です。
ssh fumifumi
4. TeraTerm設定
『3. SSHログイン』が出来ている状態でないと後ほどエラーウィンドウと戦う事になります。
設定例では54321としていますが、ローカル側を80と443とした方が色々楽だったりします。
(http⇒https転送など)
Teraterm上で設定 ⇒ SSH転送を選択し、以下の様に設定します。
ポート | 番号 | 設定例 |
---|---|---|
ローカル | 任意 | 54321 |
リモート | LocalFowardで設定した番号 | 12345 |
![]() |
5. ブラウザアクセス
『4. TeraTerm設定』で『ローカル』に設定したポートにアクセスします。
今回相手先が443(HTTPS)なので、URLにもhttpsを付けるべし。
https://localhost:54321