Hallo zusammen,
kurze Frage: ich möchte einen mobil eingesetzten kleinen RPi mit Raspbian dazu bewegen, automatisch eine SSH-Verbindung zu einem Server aufzubauen, so dass man vom Server aus jederzeit per SSH auf den RPi zugreifen kann sobald dieser eine Internetverbindung hat. Den Part von Persistenz der SSH-Verbindung würde man mit autossh machen. Die Frage ist nur: tunnelt man ssh durch ssh? Oder wie könnte eine elegante Lösung aussehen?
Danke vorab
SSH durch SSH tunneln?
- heisenberg
- Beiträge: 4148
- Registriert: 04.06.2015 01:17:27
- Lizenz eigener Beiträge: MIT Lizenz
Re: SSH durch SSH tunneln?
Teil 1:
autossh ist schon mal ein Teil der Lösung. Du richtest ein Remote-Portforwarding damit ein, dass ein Port von z. B. 127.0.0.1:12345 von Deinem Internetserver auf Deinen Pi Port 22 umgeleitet wird. Damit kannst Du jetzt schon mal einen Login auf Deinem Internetserver per SSH vornehmen
und von dort aus über 127.0.0.1:12345 Dich auf dem Pi einloggen.
Teil 2:
Wenn Du jetzt noch in einem Schritt von einem Client auf den Pi möchtest, geht das u. a. über ein SSH-Proxy-Command. Dazu brauchst Du auf dem Internetserver noch
netcat.
Deine Lokale SSH-Config muss noch angepasst werden:
Schlüsselbasierte Authentisierung sollte von Deinem Client zum Internetserver und zum Pi eingerichtet sein.
autossh ist schon mal ein Teil der Lösung. Du richtest ein Remote-Portforwarding damit ein, dass ein Port von z. B. 127.0.0.1:12345 von Deinem Internetserver auf Deinen Pi Port 22 umgeleitet wird. Damit kannst Du jetzt schon mal einen Login auf Deinem Internetserver per SSH vornehmen
und von dort aus über 127.0.0.1:12345 Dich auf dem Pi einloggen.
Teil 2:
Wenn Du jetzt noch in einem Schritt von einem Client auf den Pi möchtest, geht das u. a. über ein SSH-Proxy-Command. Dazu brauchst Du auf dem Internetserver noch
![Debian](/pics/debianpackage.png)
Deine Lokale SSH-Config muss noch angepasst werden:
Code: Alles auswählen
host pi
ProxyCommand ssh internetserver.domain.name netcat 127.0.0.1 12345
Re: SSH durch SSH tunneln?
Du lässt den Raspi automatisch eine ssh-Verbindung an den Server aufbauen. Beispiel (so sieht das Script auf dem Raspi aus):
Das "-R 5901:localhost:5900" ist für die Tunnelung eines VPN (kannst also auch weglassen).
Auf dem heimischen Server kannst Du diese dann per ssh -p 2222 localhost "übernehmen", sprich Du greifst dann durch den aus der Ferne aufgebauten Tunnel auf den entfernten Raspi zu.
Code: Alles auswählen
ssh -C -R 2222:localhost:22 -R 5901:localhost:5900 server.dyndns.org
Auf dem heimischen Server kannst Du diese dann per ssh -p 2222 localhost "übernehmen", sprich Du greifst dann durch den aus der Ferne aufgebauten Tunnel auf den entfernten Raspi zu.
Re: SSH durch SSH tunneln?
[schnipp]heisenberg hat geschrieben:Teil 1:
autossh ist schon mal ein Teil der Lösung. Du richtest ein Remote-Portforwarding damit ein, dass ein Port von z. B. 127.0.0.1:12345 von Deinem Internetserver auf Deinen Pi Port 22 umgeleitet wird. Damit kannst Du jetzt schon mal einen Login auf Deinem Internetserver per SSH vornehmen
und von dort aus über 127.0.0.1:12345 Dich auf dem Pi einloggen.
Das ging ja fix, vielen Dank! Der Teil 1 reicht mir schon, das genau habe ich mir vorgestellt.
Danke nochmals!
Re: SSH durch SSH tunneln?
Danke auch Dir, dirk11!