PortFowardを使い複数サーバ経由でアクセスする

クライアントPCのTeraTermからポート転送を駆使して目的サーバにアクセスします。
各サーバ間通信はSSHで接続、localhost:54321をServerC:443まで転送していきます。

image.png

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
PortFoward.png

5. ブラウザアクセス

『4. TeraTerm設定』で『ローカル』に設定したポートにアクセスします。
今回相手先が443(HTTPS)なので、URLにもhttpsを付けるべし。

https://localhost:54321