Meine Frage ist im Grunde, wie ich meine vorhandenen zwei Schritte in einen Schritt verwandeln kann.
Ich habe einen funktionierenden SSH-Tunnel zwischen zwei Computern eingerichtet, der einen Mittelsmann-Server wie diesen verwendet:
Kubuntu_laptop--->nat_fw--->Debian_Server<--nat_fw<--Kubuntu_desktop
Was ich derzeit mache, ist SSH von Kubuntu_laptop zu Debian_Server und dann von Debian_Server zu Kubuntu_desktop. Ich möchte diesen einen SSH-Befehl ausführen, der auf meinem Kubuntu_laptop in bash ausgegeben wird und dazu führt, dass ich mit dem Kubuntu_desktop (shell / bash) verbunden bin.
Die Befehle, die ich jetzt verwende, sind wie folgt. Schritt 1:
me@kubuntu_laptop:~$ ssh -i ~/.ssh/id_rsa admin@debian_server
Schritt 2:
admin@debian_server:$ ssh -p 1234 -i /home/admin/.ssh/id_rsa admin@localhost
Dann bin ich über SSH (von kubuntu_laptop) mit dem kubuntu_desktop verbunden.
Für alle SSH-Verbindungen sind RSA-Schlüssel erforderlich. Die Passwortanmeldung ist rundum deaktiviert. Beachten Sie, dass sich die Computerbenutzerkonten auf zwei Computern unterscheiden.
In Bezug auf die Verbindung für dieses Bein:
Debian_Server<--nat_fw<--Kubuntu_desktop
So wird es aufgebaut:
autossh -M 5234 -N -f -R 1234:localhost:22 user@mydebian.com -p 22
Beachten Sie, dass Kubuntu_desktop als [email protected] (nicht admin @ debian_server) eine Verbindung zu middleman herstellt. Wenn ich mich jedoch mit Kubuntu_desktop verbinde, verbinde ich mich als Administrator.
Ich kann den vorhandenen Überwachungsport (5234) oder die Remote-Portnummer (- R) (in diesem Beispiel 1234) nicht ändern. Ich kann die SSH-Sicherheit nicht ändern, um Kennwortanmeldungen zuzulassen. Ich kann keine neuen Firewall-Ports öffnen. Ich kann keine Benutzerkonten ändern (außer auf einem Laptop).
Antworten:
Stellen Sie sicher, dass netcat auf dem Debian-Server installiert ist, und verwenden Sie es
ProxyCommand
in Ihrer lokalen SSH-Konfiguration (~/.ssh/config
).quelle
Dank @Ignacio Vazquez-Abrams sind hier alle Schritte:
Ich habe die Konfiguration wie folgt bearbeitet:
Der Inhalt ist:
Dann einfach verbinden:
In 1 Schritt über SSH mit kubuntu_desktop verbunden! Perfekt
Aktualisieren:
Dies macht es flexibler:
Die neuen Inhalte sind:
Dann verbinde dich einfach mit Mama:
Und verbinde dich mit Papa:
Natürlich müssen Mama und Papa Schritt 0 eingerichtet haben (von meiner ursprünglichen Frage), bei dem jeder seinen eigenen -R-Port definiert hat. Beispiel für Papa:
Schritt 0 (für Papa):
Optional:
quelle
ProxyCommand ssh debian_server_fqdn -W localhost:%p
also nicht auf dem Debian-Server vorhanden sein.