web-dev-qa-db-ja.com

SSH「リバース」ProxyCommand

通常、次のような設定があります。

Workstation -> Firewall -> Server

ワークステーションサーバーに直接接続できませんでしたが、サーバーに接続するには、最初にファイアウォールにログインする必要があります。この「簡単な」セットアップでは、ワークステーションで次の設定を使用できます。

Host server
    ProxyCommand ssh firewall nc %h %p

今私の質問:

私に強制されたセットアップはもっと難しいです:

Workstation -> Intermediate <- Server
  • つまり私のワークステーションログインできます中級およびサーバーログインできます中級
  • 中級はTCP サーバーへの接続を開くことができませんが、他の方向は可能です。
  • ワークステーションサーバーの間でどちらの方向にもTCP接続を開くことができません。パケットはVLANにルーティングされません。
  • サーバーに「物理的に」アクセスできますが、ワークステーションに座りたいです。

さて、どうすれば自分のマシンからサーバーにSSH接続できますか?

3

Sshトンネリングを使用すると、かなり簡単です。最初にサーバーマシンに移動して、以下を実行します。

ssh -R 2222:localhost:22 intermediateuser@Intermediate

これにより、中間マシンのポート2222が開き、サーバーのポート22への接続が逆転送されます。

その後、あなたはすることができます

ssh user@Intermediate

そしてそこから

ssh serveruser@localhost -p 2222

または、次の方法で、中間のポート2222をワークステーションに持ち込むこともできます。

ssh -L 2222:localhost:2222 intermediateuser@Intermediate

その後:

ssh serveruser@localhost -p 2222
5
guido