ssh -L <some port>:<remote Windows host>:<rdesktop port> <some user>@<external Linux machine>
Verbinden Sie dann rdesktop mit localhost:<some port>
.
In Ubuntu versuche ich mich mit rdesktop bei der Windows-Maschine meines Freundes anzumelden. Zunächst kann ich mich mit ssh in seiner nach außen gerichteten Linux-Box anmelden. Von dort aus kann ich mich dann mit ssh an seinem Linux-Host-Rechner anmelden. Auf diesem Host-Computer wird Windows XP in Virtualbox ausgeführt. Gibt es eine Möglichkeit für mich, rdesktop über diese beiden SSH-Verbindungen zu tunneln (möglicherweise ist nur die erste Verbindung zur nach außen gerichteten Linux-Box erforderlich, um nur ins Netzwerk zu gelangen, je nachdem, wie die Netzwerkverbindung von Virtualbox eingerichtet ist).
Vielen Dank
ssh -L <some port>:<remote Windows host>:<rdesktop port> <some user>@<external Linux machine>
Verbinden Sie dann rdesktop mit localhost:<some port>
.
Hier ist der Befehl, den ich verwende, um mit Cygwin eingehende RDP-over-SSH auf meiner Windows-Box zu aktivieren:
ssh -R 3389:localhost:3389 -f -N kgregory@rivendell
OK, lass uns diesen Befehl analysieren. Zunächst einmal ist es ein Reverse-Tunnel: In meiner Windows-Box sind keine eingehenden Ports geöffnet. Ich öffne also im Wesentlichen einen Port, indem ich eine Outbound-Verbindung herstelle.
Der Host, mit dem ich mich verbinde, ist rivendell
, und ich leite Port weiter 3389
(dies ist der erste "3389" im Befehl). So gibt es eine sshd
auf rivendell ausgeführt wird, die auf diesem Host für Verbindungen zu Port 3389 wird zu hören.
Dann leite ich diese Verbindungen an Port 3389 weiter localhost
(meine Windows-Box). Dies ist der Port, an dem rdesktop zu hören ist.