SSHトンネルを介して制限されたネットワークのウェブサイトをリダイレクトする方法

SSHトンネルを介して制限されたネットワークのウェブサイトをリダイレクトする方法

サーバーの限られたネットワークのためのリバースSSHトンネルを確立しましたaws。つまり、アクセスするためにサーバーにSSHを介して接続awsし、そこからいくつかのカスタムポートを介して制限されたネットワーク上のコンピュータにアクセスできます。

この制限されたネットワークには、Webブラウザを介して設定できるデバイスがあります。

コンピュータssh -R 8080:deviceIP:80 user@awsに転送するのと同じことができると確信していますが、まだアクセスできません(リモートXを介している場合を除いて非常に遅いです)。ホームブラウザにawsどのようにパイプしますか?deviceIP:80aws

上記のsshコマンドを試してから自宅のコンピュータのブラウザを次に指定しましたが、aws:8080ページが読み込まれませんでした...

ベストアンサー1

SSHトンネルは安全でないネットワークを拡張するのに役立ち、異なるネットワーク上の2つのエンドポイントを接続するときにエンドツーエンドの暗号化を提供します。

私が知っている限り(コメントありがとうございます)あなたが持っているものは次のとおりです。

  • localhost-A:yours localhost、ローカルネットワーク(おそらくファイアウォール/ NATの背後にある)

  • パブリックアクセス可能なホストB:awsサーバー

  • パブリックアクセスできないホスト-C:制限付きリモートネットワーク(ファイアウォール/ NATの背後にある可能性があります)

  • deviceIPパブリックアクセスできないホスト-D:ポートでリッスンし、リモートで制限80されたネットワーク上の呼び出し側ホスト

ホストAをホストDに接続し、ブラウザがポートを介してホストにアクセスできるようにするには、次の手順を実行する80必要があります。

  1. ホストAからホストBにトンネリングします。つまり、次のようになります。

    • ホストAがポートでリッスンすることを許可する8080

    • トンネルを介してこのポートからトラフィックを送信します。

    • ホストB(aws)からトンネルのトラフィックをローカル(ホストBなど)ポートにリダイレクトします15872(あなたの意見から取得しました。利用可能なポートを選択できます。すべてのポートで同じように使用します。ポートは次のとおりです) ))コマンド)

    # Execute on host-A
    $ ssh -L 8080:localhost:15872 user@host-B
    
  2. ホスト C からホスト B にトンネリングします。つまり、次のようになります。

    • ホストBがポートでリッスンすることを許可する15872

    • トンネルを介してこのポートからトラフィックを送信します。

    • ホストC(Linuxサーバー)からそのトラフィックを80ホストDのポートにリダイレクトします。

    # Execute on host-C
    $ ssh -R *:15872:host-D:80 user@host-B
    

したがって、ホストAへのポートの要求は、ホスト8080Bにトンネリングされ、15872同じホストBのポートにリダイレクトされ、ホストCにトンネリングされ、ホストCから80ホストDのポートにリダイレクトされます。

おすすめ記事