ファイアウォールの背後にあるSSHサーバーに接続するために他のサーバーをどのように使用しますか?

ファイアウォールの背後にあるSSHサーバーに接続するために他のサーバーをどのように使用しますか?

サーバーが2つあり、ネットワークは次のとおりです。

Server_A (Ubuntu) -> Firewall/Router -> Internet

Server_Aはインターネット上の任意のサーバーに接続できます。

Server_B (Ubuntu) which is directly connected to the internet.

Server_Bのポート転送やファイアウォールに制限はありません。

Server_A はローカルネットワーク内にあり、ここではポート転送ができないため、インターネットから Server_A に接続できません。ルーターにアクセスできません。

Server_AはServer_Bに接続してServer_BにSSHで接続し、Server_Aと通信できますか?

ベストアンサー1

Server_AでSSHサーバーを実行できる場合は、Server_AからServer_BにSSHを実行し、Server_BのポートをServer_AのSSHサーバーに転送できます。

Server_A$ ssh -R 12345:localhost:22 Server_B
Password:
Server_B$ 

その後、Server_Bでは、localhostを使用してポート12345からServer_AにSSHを介して接続できるようになりました。

Server_B$ ssh -p 12345 localhost
Password:
Server_A$

もしあなたなら本物Server_AのSSHサーバーをインターネットに公開するには、他のホストからポート転送にアクセスできるように設定できますが、それを許可するにはServer_Bのsshd_configファイルが必要ですGatewayPorts

Server_A$ ssh -R '*:12345:localhost:22' Server_B
Password:
Server_B$ 

それからどこでも:

Anywhere$ ssh -p 12345 Server_B
Password:
Server_A$

しかし、コメントでも言及したように非常にいくつかの重要なセキュリティポリシーをスキップしないように注意してください。

おすすめ記事