マシンがありA
、B
そこから ssh 経由でマシンにアクセスできますRelay
が、その逆はできません。そのポートのみがアクセス可能である場合を除き、ポートを開かずにマシン経由B
でマシンにアクセスできますか?A
Relay
22
たとえば、 を に して、 のファイルを開いて読み取りと書き込みを行うという解決策が考えられますssh
。B
をRelay
にstdin
接続するstdout
と、との通信用にこれらのファイルの読み取りと書き込みが可能になります。A
relay
B
コマンドライン ツールを使用してこれを実現する方法はありますか?
答え1
まあ、明らかにリレー上にすでにポートが開いているので、そうでなければ ssh は不可能でしょう。
私が考える唯一の方法は、B がリレーに ssh し、それとともに A が使用できるリバース トンネルを開くことです。探しているのは「-R」オプションです。
答え2
一つの方法は次のとおりです。
- ssh A はローカル ポートをリレーして転送します (例
ssh -L 6022:127.0.0.1:6022
) このコマンドは、A のローカル ポート 6022 を SSH 経由でリレーのポート 6022 に転送します。 - ssh B はリモートポートをローカルに中継して転送します (
ssh -R 6022:127.0.0.1:22
) このコマンドは、リレー上のリモートポート 6022 を B 上のローカルポート 22 に転送します - 次に、A で ssh を使用して localhost ポート 6022 に接続し、B にログインできるはずです。