ポートを開かずにSSHリレー

ポートを開かずにSSHリレー

マシンがありABそこから ssh 経由でマシンにアクセスできますRelayが、その逆はできません。そのポートのみがアクセス可能である場合を除き、ポートを開かずにマシン経由Bでマシンにアクセスできますか?ARelay22

たとえば、 を に して、 のファイルを開いて読み取りと書き込みを行うという解決策が考えられますsshBRelaystdin接続するstdoutと、との通信用にこれらのファイルの読み取りと書き込みが可能になります。ArelayB

コマンドライン ツールを使用してこれを実現する方法はありますか?

答え1

まあ、明らかにリレー上にすでにポートが開いているので、そうでなければ ssh は不可能でしょう。

私が考える唯一の方法は、B がリレーに ssh し、それとともに A が使用できるリバース トンネルを開くことです。探しているのは「-R」オプションです。

答え2

一つの方法は次のとおりです。

  1. ssh A はローカル ポートをリレーして転送します (例ssh -L 6022:127.0.0.1:6022) このコマンドは、A のローカル ポート 6022 を SSH 経由でリレーのポート 6022 に転送します。
  2. ssh B はリモートポートをローカルに中継して転送します ( ssh -R 6022:127.0.0.1:22) このコマンドは、リレー上のリモートポート 6022 を B 上のローカルポート 22 に転送します
  3. 次に、A で ssh を使用して localhost ポート 6022 に接続し、B にログインできるはずです。

関連情報