web-dev-qa-db-ja.com

SSHトンネル経由で外部ネットワークからイントラネットWebサイトにリモートアクセスするにはどうすればよいですか?

最近、自宅で内部的にアクセス可能なシステムにFreeIPAをセットアップしました。 LANの外部にあるネットワークからこのWeb UIを管理したいのですが、同時に、このWeb UIをパブリックインターネットに公開する必要はありません。 SSHトンネルを介してアクセスする方法はありますか?

注:sshを使用したトンネルの設定に精通しています&です-L次のように切り替えます。

$ ssh -L 12345:ipa.local.net:80 mysshserver

ただし、このアプローチはこのシナリオでは機能しません。FreeIPAにアクセスするには、ポート443と80の両方を使用してWeb UIにアクセスできることに加えて、サーバーの実際のホスト名を使用する必要があるためです。

これを達成する別の方法はありますかssh -L

6
slm

SSHトンネリングを実行すると、すべての用語で少し混乱する可能性がありますが、-Lには補足的な機能があり、単一のポートではなくローカルにソケットを割り当てることにより、ポートを「動的に」割り当てることができます。

Manページから:

-D [bind_address:]port
    Specifies a local ``dynamic'' application-level port forwarding.  This works by 
    allocating a socket to listen to port on the local side, optionally bound to the 
    specified bind_address.  Whenever a connection is made to this port, the connection 
    is forwarded over the secure channel, and the application protocol is then used to 
    determine where to connect to from the remote machine.  Currently the SOCKS4 and 
    SOCKS5 protocols are supported, and ssh will act as a SOCKS server.  Only root 
    can forward privileged ports. Dynamic port forwardings can also be specified in 
    the configuration file.

ソケットを割り当てることにより、DNSクエリを含むすべてのトラフィックをリモートサイトに到達させることができます。

どうやって使うのですか

手始めに、次のように(インターネット上のパブリックIPアドレスを介して)LANへの接続を開く必要があります。

$ ssh -D 1234 myserver

注:これは、パブリックインターネットIPアドレスを介してアクセス可能なサーバーにSSHで接続できることを前提としています。

それがセットアップされたら、別の端末で、このトンネルを利用するようにWebブラウザーを構成する必要があります。 注:このタイプのトンネルはソケットを提供しているため、それに接続するには、すべてのトラフィックをプロキシするようにWebブラウザに指示する必要がありますこのソケット。これは通常、プロキシの SOCKSまたはSOCKS v5接続タイプ として表示されます。

この例では、CLIを介してChromiumで実行する方法を示します。

$ ./Chromium --proxy-server="socks5://localhost:1234"

ここでは、Chromiumを起動して、ローカルホストのポート1234で以前に構成したSSHトンネルをポイントしています。これにより、LANに構成されているサーバーのURLにアクセスしようとすると、そのリダイレクトが表示されます:

ss#1

他のブラウザとのプロキシ

すべての主要なブラウザーがこの機能を提供し、SuperUserなどの他のSEサイトでかなり広範囲にカバーされています。

さまざまなブラウザの拡張機能を利用して、特定のトラフィックのみを選択的にプロキシし、他のすべてのものを通常のインターネット接続経由でルーティングすることもできます。

たとえば、ProxySwitchy!を使用できます。 Chromeこれを正確に行うには:

ss#2

ss#3

4
slm