SSH トンネリング ポート転送

SSH トンネリング ポート転送

私には A、B、C という 3 台のコンピュータがあります。A は私が作業しているコンピュータで、C はアクセスしたいリモート コンピュータです。ただし、C には B 経由でしかアクセスできません。B にのみ ssh サーバーがあり、A にのみ ssh クライアントがあります。

B 経由で C (ポート 80) に接続するには、どのようなコマンド (できれば A で) を使用すればよいですか? たとえば、B はすべての着信ポート 12345 を C:80 に転送する必要があります。

これはよくある質問だとわかっていますし、Google でたくさんのコマンドを見つけましたが、どれも機能しないようです。

セットアップが完了したら、A で localhost:5678 を使用して B:1234 に接続し、C:80 に転送するだけです。

ありがとう。

答え1

デーモンが他のマシンへのポート転送を禁止するように設定されているか、ポート転送をまったく禁止するように設定されている可能性があります。いずれにせよ、ポート 80 にアクセスするためにsshd発行する正しいコマンドは次のとおりです。AC

ssh -L localhost:5678:<ip-or-name-of-C>:80 <ip-or-name-of-B>

セッションが確立された後、sshlocalhost:5678 に接続して C:80 に接続します。ホスト A:5678 へのすべての着信接続を C:80 に転送する場合は、localhost:上記のコマンドから を削除します。

他のホストへのポート転送が無効になっている場合はB、チェーンを試すことができます。ここ

関連情報