Herstellen einer Verbindung zwischen 3 Computern

Herstellen einer Verbindung zwischen 3 Computern

Ich habe 3 Maschinen in 3 verschiedenen Netzwerken.

HEIM:

  • Mit Internet, aber ohne Verbindung zu einem lokalen Rechner, mit sudo.

ARBEITEN:

  • Mit SSH über das WWW-Internet verfügbar,
  • HEIMkann ssh zuARBEITEN, aber nicht umgekehrt
  • ARBEITENkann sowohl ausgehende als auch eingehende SSH-Verbindungen durchführen
  • Ich habeNEINSudo-Zugriff auf diesem Computer
  • Die Maschine hat keine iptablesinstallierte

SERVER:

  • SERVERist mit dem WWW-Internet verbunden
  • SERVERkann ssh zuARBEITEN, aber nicht umgekehrt
  • SERVERkann nur ausgehendes SSH durchführen.
  • Ich habe Sudo-Zugriff auf diesen Computer.

Das Netzwerk kann jetzt Folgendes tun:

HOME -> ARBEIT <- SERVER

Wie erhalte ich bei dieser KonfigurationHEIMVerbinden mitSERVER? Auf allen drei Maschinen läuft Ubuntu. Ich habe auf allen drei Maschinen nur Befehlszeilenzugriff.

Antwort1

Für diese SSH-Lösung sollten Sie sudo nicht benötigen.

Richten Sie zunächst in der Befehlszeile auf dem SERVER eine Remote-Portweiterleitung vom ARBEITS-Rechner zum SERVER ein:

SERVER$ ssh -f -N -R 23456:SERVER:22 workuser@WORK

Solange der Prozess ausgeführt wird, sollten Sie Folgendes tun können:

HOME$ ssh -t workuser@WORK ssh -p23456 serveruser@localhost

Das heißt, von HOME aus sollten Sie in der Lage sein, über WORK und dann durch den SSH-Tunnel eine Verbindung zum SERVER-Computer herzustellen.

Es sollte möglich sein, :23456 zu verwenden, um anzugeben, dass SSH auf allen Schnittstellen des Arbeitsrechners lauschen soll, aber das hat bei mir nicht funktioniert, vermutlich weil GatewayPorts deaktiviert war. Wenn es funktioniert, könnte der zweite Befehl folgendermaßen vereinfacht werden:

HOME$ ssh -p23456 serveruser@WORK

verwandte Informationen