web-dev-qa-db-ja.com

PuTTYを使用したSSHリバースポート転送-バインドアドレスを指定する方法

PuTTYを使用して、リバースプロキシをセットアップしました。これにより、server.tldにあるサーバーのポート8080で、SSH接続を開始したマシンのポート80に接続できます。

サーバーはlocalhost:8080に接続することを許可し、サーバーに接続するとinitiator:80の結果を返します。

この質問 は、GatewayPortsを有効にしてすべてのアドレスにバインドすることを示しています。

PuTTYを使用して、サーバーのポート8080を公開し、外部インターフェイス(Webリクエストなど)でリクエストが送信されたときにポートがinitiator:80に転送されるようにするにはどうすればよいですか?

enter image description here

17
Darbio

PuTTYトンネルを設定する場合、2つのチェックボックスがあります。

  • ローカルポートは他のホストからの接続を受け入れます
  • リモートポートは同じことを行います(SSH-2のみ)

それらの2番目は、必要なことを行います。

私はそれをテストしました、

PuTTYトンネルダイアログ、

  • ティックリモートポート...
  • 送信元ポートに8080を置く
  • 127.0.0.1:80を宛先ポートに入れる
  • 「リモート」ラジオボタンを選択します
  • 追加をクリックします
  • 接続する

正常に動作します。これが結果のnetstatです。

# netstat -an | grep 8080
tcp        0      0 0.0.0.0:8080            0.0.0.0:*               LISTEN
tcp6       0      0 :::8080                 :::*                    LISTEN

たとえば、PuTTYに付属のplink.exeを使用することもできます。

plink -R *:8080:localhost:80 [email protected]

これも問題なく動作します。

# netstat -an | grep 8080
tcp        0      0 0.0.0.0:8080            0.0.0.0:*               LISTEN
tcp6       0      0 :::8080                 :::*                    LISTEN

それでもホストで127.0.0.1:8080を取得している場合は、sshd構成でGatewayPortsがnoに設定されています。

また、ターゲットサーバーのファイアウォールを更新して、ポート8080への外部接続を許可することを忘れないでください。

17
EightBitTony