PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Reverse SSH Tunnel Port umleiten



CandymanCan
10.09.15, 12:47
Hallo zusammen :)

ich habe eine Frage bezüglich Reverse SSH und Portumleitung.
Und zwar habe ich einen VServer und ein Raspberry Pi auf denen beide ein SSH-Server läuft. Da das R-PI Zuhause hinter einem Router mit IPv6 und einer dynamischen IP läuft, baue ich um von außen darauf zugreifen zu können, einen Reverse-SSH-Tunnel zu meinem VServer auf mit folgendem Befehl auf :

ssh -fNC -R 8642:localhost:22 root@meineVServerDomain

Wenn ich mich auf dem VServer einlogge kann ich mich über den Port 8642 auf mein R-PI verbinden. Das funktioniert auch gut. Nun möchte ich aber, dass ich direkt über "meineVServerDomain" auf Port 7520 beispielsweise eine Verbindung zu meinem R-PI aufbauen kann, ohne mich extra vorher auf meinem VServer einloggen zu müssen. Dafür müsste man doch eigentlich nur den Port 8642 auf Port 7520 umleiten oder?

Ich habe bereits ein wenig mit iptables experimentiert komme aber nicht weiter.
Kann mir hier einer weiterhelfen?

Gruß CandymanCan

fork
10.09.15, 13:25
Per default wird der weitergeleitete Port nur an localhost aka 127.0.0.1 gebunden. Wenn Du das von aussen zusätzlich haben willst musst Du zusätzlich die Bind-Address angeben bei SSH. Also vermutlich -R 0.0.0.0:8642:localhost:22 oder -R <PUBLIC-IP>8642:localhost:22.

Andere, sicherere Variante wäre ein ProxyCommand(Definition in ~/.ssh/config). Das Programm netcat muss dazu auf Deinem Vserver installiert sein. Sicher deswegen, weil der SSH-Port vom Pi dann nicht öffentlich erreichbar ist. Die zusätzliche Sicherheit ist aber eigentlich nicht nötig. Wenn der pi nur ssh-Keys akzeptiert ist das IMHO genug Sicherheit.



Host pi
ProxyCommand ssh -q vserver-dnsname-or-ip nc 127.0.0.1 8642