PuTTY: Remote Desktop über Jump Server (ssh)

Eine sichere Wartung via Remotedesktopverbindung ist etwas heikel übers Internet. Hoch verschlüsselt und nicht abhörbar geht es via der Secure Shell (ssh-tunnel).

Im Artikel Secure Shell (ssh) wird die Verwendung von SSH unter Linux beschrieben. Hier geht es nun darum, wie man unter Windows eine sichere Verbindung via Remote Desktop (rdp) zu einem Windows-Computer herzustellen. Dazu benötigt man einen (kleinen) Jump Server, auf den man via ssh einloggen kann. Der Jump Server hat einen laufenden ssh Server (Windows Welt: Dienst) Der Jump Server hat bspw. Port 22 für ssh-Verbindungen offen. Im Gateway (Firewall) ist Port Forwarding auf Port 22 des Jump Servers eingerichtet. (Alternativ kann man auch einen SSH-Server direkt auf dem Windows-Rechner installieren).

Es liegt ein open-ssh Schlüssel für den Jump Server vor. Man kann aber auch mit einem Login-Passwort arbeiten.

PuTTY

PuTTY ist erhältlich unter: http://tartarus.org/~simon/putty-snapshots/x86/putty-installer.exe Das ist eine Windows-Installer-Datei. Es ist lediglich 1.6MB gross. Installation mit Doppelklick.

Vorbereitungsarbeiten

PuTTYgen starten

(Start -> Programme -> PuTTY -> PuTTYgen) und mit Load den open-ssh Schlüssel laden:

Man sollte (muss aber nicht) ein Passwort angeben. Dann den generierten (konvertierten) Schlüssel mit "Save private key" z.B. auf einen verschlüsselten USB-Stick sichern.

PuTTY starten

Die Adresse und den Usernamen eingeben, evtl. Portnummer ändern, wenn der Port auf dem Jump Server geändert wurde.

Dann den Schlüssel, der zuvor konvertiert wurde, laden:

Und schlussendlich den Tunnel definieren. In "Source port" wird 3390 (3389 ist auf dem lokalen Host bereits besetzt, es ginge auch jeder andere freie Port) und in Destination wird 192.168.3.10:3389 für den im dortigen lokalen Netz gewünschten Rechner eingetragen (es liesse sich jeder vom Jump Server erreichbare Rechner eintragen):

(Die beiden Häkchen "Load ports accept…" und "Remote ports do the same" müssen nicht markiert sein).

Schlussendlich speichert man sein Profil in "Session" unter einem beliebigen Namen. Man sollte das vorher tun, denn sonst muss man es erneut eingeben bei nächsten Mal. Wenn man etwas falsch gemacht hat, lässt es sich über das gewählte Profil speichern.

Remote Desktop starten

Windows "Remotedesktopverbindung" starten und als Host: localhost:3390 eingeben:

Remote Desktop "Wallpaper" entfernen

Die Hersteller von Serversystemen "verschönern" den Login-Bildschirm gerne mit 24-Bit-Grafiken, die auch noch Verläufe enthalten. Der Aufbau des Bildschirmes wird fast unterträglich langsam. Es dauert lange bis man endlich einloggen kann. Mit dem Windows-Tool gpedit.msc (in Start -> Ausführen… eintippen) kann man den leicht entfernen. Es genügt ein Doppelklick auf Computerkonfiguration -> Administrative Vorlagen -> Terminaldienste -> Entfernen des Remotedesktophintergrunds erzwingen.

gpedit_msc_remotedesktopwallpaper.png