プロキシおよびSSHトンネルを介してオンプレミスサーバーに接続する


0

現在、自宅のラップトップから会社のファイアウォールの背後でホストされているWebアプリケーションにアクセスしようとしています。

複数のホップを介してSSHトンネル、SSHプロキシ、またはSSHトンネルを作成する方法に関する多くの質問と回答を見つけました。しかし、私はまだそれを機能させることができません。私のケースは他のケースとは少し違うと思います。説明させてください。

  • Webアプリケーションをホストしているサーバー(赤いボックス)へのSSHアクセスがありません。内部IPしかありません。
  • WebアプリをホストしているサーバーにアクセスできるオンプレミスLinuxボックス(オレンジボックス)にアクセスできます。
  • オレンジ色のボックスにはパブリックIPアドレスがありません(したがって、インターネットからSSHに接続できません)が、インターネットにアクセスでき、インターネットでホストされているサーバーにSSHを実行できます(たとえば、青いボックスに接続オレンジ色のボックスから)。
  • インターネット上にパブリックIPアドレス(青いボックス)を持つLinuxサーバーがあります。

ここに画像の説明を入力してください

私は成功せずにさまざまなことを試みましたが、正直に迷っています。

誰かが私を啓発するのに十分なものでしょうか?:-)

回答:


0

これはオレンジ色のコンピューターのコマンドです。

ssh -N -R:<chosen-port>:10.0.0.101:<web-app-port> -p <blue-ssh-port> <blue-user>@<blue-public-ip>

オレンジからのログアウトで生き残る方法-これは別の問題です。これを参照してください;またはtmux/ screendisownまたはnohupカスタムスクリプトで。)

上記のコマンドは、青色の SSHサーバー<chosen-port>が、ループバックインターフェイスで選択した(TCP)でリッスンするようにします。着信接続はオレンジにトンネリングされ、そこから送信されます10.0.0.101:<web-app-port>(つまり、)。これにより、青のコマンドもシェルも実行せずにトンネルが作成され-Nます(オプションのおかげ)。

他の(ループバックではない)インターフェースで青をリッスンさせる方法がありますが、セキュリティのため推奨されません。このオプションはさえで無効にすることができる(で説明しman ssh-Rオプション)。

緑のホームマシンから青のループバックインターフェイスに到達するには、別のトンネルを使用します。オン

ssh -N -L:<chosen-port-2>:127.0.0.1:<chosen-port> -p <blue-ssh-port> <blue-user>@<blue-public-ip>

これで、アドレスを使用してからに到達できるはずです。

127.0.0.1:<chosen-port-2>

<chosen-port>そして<chosen-port-2>、同じ番号であってもなくてもよい、それは本当に問題ではありません。重要なのは、高いポート(1024から65535まで)を選択することです。


-L-Rトンネルの違い:

  • -Lローカル側、つまり呼び出した場所でリッスンしますssh
  • -Rリモート側、つまりどこでリッスンしますssh

これを知っていれば、私たちがやったことをトレースできるはずです。この方法で作業する方が論理的に思えたので、に向かってトンネルを作成したことに注意してください。接続は緑色から行われるため、この方向でルート全体をトレースしてみましょう。次のとおりです。

  1. 緑色の SSHクライアント127.0.0.1:<chosen-port-2>は、2番目のトンネルのためにリッスンします。
  2. パケットを青色の SSHサーバーに転送し、127.0.0.1:<chosen-port>そこに送信します。青の観点から、これらはSSHサーバーによって生成されるローカルパケットです。
  3. 最初のトンネルのため、同じSSHサーバーはそのポートでリッスンします。サーバーはパケットを取得し、オレンジに転送します。
  4. オレンジの SSHクライアントは、パケットを赤に送信します。赤のパケットからある視点オレンジ、それはについて何も知らない緑を
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.