私の会社には、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 22
SSH サーバーがデフォルトのポートを使用する場合は必要ありませんが、質問では 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 トンネルで:
- 送信元ポートに90と入力
- 宛先にdevserver:80と入力
- 追加をクリック
- 必ずセッションに戻って「保存」をクリックしてください。
すべてのトンネリングよりも、オフィスで OpenVPN をセットアップする方がよいでしょう。
答え3
私はまったく逆のことをします。顧客先では、ラップトップの Tunnelier を介して安全な SSH トンネルを設定し、SSH サーバーがインストールされている外部サーバーに接続します。次に、Google Chrome で switchy を設定し、ブラウザから SSH 経由でルーティングされた外部サーバーへのトラフィックの転送を有効にします。
それで、
- Chrome ブラウザに switchy をインストールします (ff/ie でプロキシを設定できます - switchy を使用すると、プロキシ設定を簡単に切り替えることができます)。SOCKS ホストを 127.0.0.1 に、ポートを 1080 に設定します。
- リモート マシン (ラップトップ/自宅のコンピューター) に Tunnelier クライアントをセットアップし、会社の SSH サーバーに接続します。「SOCKS/HTTP プロキシ転送」を有効にしてポート 1080 を使用します。
お役に立てれば。