Ich habe Maschinen A
, B
die über SSH auf eine Maschine zugreifen können Relay
, aber nicht umgekehrt. Kann ich B
von A
der Maschine aus auf die Relay
Maschine zugreifen, ohne Ports zu öffnen, außer 22
wenn dieser Port der einzige ist, auf den zugegriffen werden kann?
Eine mögliche Lösung wäre beispielsweise, ssh
von B
in Relay
Dateien zu wechseln und diese zum Lesen stdin
und Schreiben zu öffnen stdout
. Die Verbindung von in A
ermöglicht relay
das Lesen und Schreiben in diese Dateien für die Kommunikation mit B
.
Gibt es eine Möglichkeit, dies mit Befehlszeilentools zu erreichen?
Antwort1
Nun, auf dem Relay ist offensichtlich bereits ein Port geöffnet, sonst wäre SSH nicht möglich.
Die einzige Möglichkeit, die ich sehe, ist, dass B per SSH auf das Relay zugreift und dabei einen Reverse-Tunnel öffnet, den A dann verwenden kann. Sie suchen nach der Option „-R“.
Antwort2
Hier ist eine Möglichkeit:
- ssh A zum Weiterleiten und Weiterleiten eines lokalen Ports (z. B.
ssh -L 6022:127.0.0.1:6022
) Dieser Befehl leitet den lokalen Port 6022 auf A über SSH an Port 6022 auf Relay weiter. - ssh B zum Weiterleiten eines Remote-Ports an den lokalen Port (
ssh -R 6022:127.0.0.1:22
) Dieser Befehl leitet den Remote-Port 6022 auf dem Relay an den lokalen Port 22 auf B weiter. - Stellen Sie nun auf A per SSH eine Verbindung zum Localhost-Port 6022 her und Sie sollten sich bei B anmelden können.