ssh トンネルを使用して外部から社内のイントラネット LAN 専用 Web サイトに接続する

ssh トンネルを使用して外部から社内のイントラネット LAN 専用 Web サイトに接続する

私の会社には、LAN からのみアクセス可能なイントラネット Web サーバーがあり、統合サーバーとして Web 開発に使用されています。LAN 内のユーザーは、統合サーバーの Apache 構成で定義されているのと同じ仮想ホストを使用するように /etc/hosts を設定し、標準ポート 80 を使用して接続できるようにしています。

私は時々リモートで作業し、カスタム ポートを使用して SSH 経由でサーバーにアクセスできます。

/etc/hosts をそのサーバーのパブリック IP に設定した場合、そのカスタム ポートで SSH 接続を使用して、ブラウザー接続をトンネリングし、その Web サーバーからページを取得する方法はありますか?

答え1

あなたの設定をまだよく理解していませんが、会社のサーバーに ssh で接続するときに、ブラウザを使用して会社の Web サーバーにアクセスできるように ssh トンネルを設定できるはずです。

あなたがやるないローカルマシンに/etc/hostsを設定する必要があります。sshパラメータを使用して

-L port:host:hostport

ローカルホストのポートへのすべてのトラフィックは、リモートのホスト/ホストポートにトンネルされます。

 ssh -L 80:web-server:80 user@ssh-server -p 22

http://localhostにリダイレクトされますweb-server:80。ホストポートはリモート サーバー (つまり、ssh サーバー) 上で変換されることに注意してください。

-p 22SSH サーバーがデフォルトのポートを使用する場合は必要ありませんが、質問では SSH サーバーがカスタム ポートを経由すると書かれています。その場合は、22カスタム ポートに変更してください。

システムが特権ポートはルートによってのみ転送できますスーパーユーザーとして実行します:

sudo ssh -L 80:web-server:80 user@ssh-server -p 12345

または、root としてログインします。

答え2

SSH コマンドライン バージョン:

ssh -L 90:devserver:80 remotehost.example.com 

今すぐ閲覧http://devserver:90/

/etc/hostsは127.0.0.1を指している必要があることに注意してください。

PuTTY の場合、SSH トンネルで:

  1. 送信元ポートに90と入力
  2. 宛先にdevserver:80と入力
  3. 追加をクリック
  4. 必ずセッションに戻って「保存」をクリックしてください。

すべてのトンネリングよりも、オフィスで OpenVPN をセットアップする方がよいでしょう。

答え3

私はまったく逆のことをします。顧客先では、ラップトップの Tunnelier を介して安全な SSH トンネルを設定し、SSH サーバーがインストールされている外部サーバーに接続します。次に、Google Chrome で switchy を設定し、ブラウザから SSH 経由でルーティングされた外部サーバーへのトラフィックの転送を有効にします。

それで、

  1. Chrome ブラウザに switchy をインストールします (ff/ie でプロキシを設定できます - switchy を使用すると、プロキシ設定を簡単に切り替えることができます)。SOCKS ホストを 127.0.0.1 に、ポートを 1080 に設定します。
  2. リモート マシン (ラップトップ/自宅のコンピューター) に Tunnelier クライアントをセットアップし、会社の SSH サーバーに接続します。「SOCKS/HTTP プロキシ転送」を有効にしてポート 1080 を使用します。

お役に立てれば。

関連情報