ssh tcp ポート転送の連鎖

ssh tcp ポート転送の連鎖

ポート1521で接続を受け入れるDBサーバーに接続する必要がありますが、これにはSSHで接続する必要があるリモートマシンからのみアクセスできます。別のゲートウェイ。

つまり自宅から

ホーム $ ssh ユーザー@ゲートウェイ

ゲートウェイ $ ssh デスクトップ

デスクトップ $ < ホスト dbserver のポート 1521 にアクセスできるようになりました >

自宅のPCでlocalhost:1521に接続してDB接続するには、どのようなコマンドを使用すればよいですか?

答え1

連鎖の 2 つの方法:


  1. 接続元ゲートウェイ、転送localhost:1521経由ゲートウェイに。localhost:PORT

  2. 接続元ゲートウェイデスクトップ、転送中localhost:PORTゲートウェイ経由デスクトップdbserver:1521

ホーム$ ssh -ftL 1521:localhost:ポートゲートウェイ ssh -NLポート:dbserver:1521 デスクトップ

ポート1521 または他の任意のポートを指定できます。


  1. 接続元ゲートウェイ、転送中localhost:PORT経由ゲートウェイdesktop:22

  2. 接続元デスクトップ確立されたトンネルを使用してゲートウェイ、転送localhost:1521経由デスクトップdbserver:1521

ホーム$ ssh -fNLポート:desktop:22 ゲートウェイ
ホーム$ ssh -fNL 1521:dbserver:1521 -o "HostkeyAlias=desktop" -Pポートローカルホスト
DB接続が可能になりました

(-fNオプションは、SSH に接続してトンネルを確立し、バックグラウンドで実行を継続するように指示します。)


2番目の方法はより便利です。デスクトップ直接(実行中のトンネルを使用) あらゆる種類の接続に使用できます。

関連情報