Archiv der Kategorie: Putty

SSH Port Forwarding – SSH-Port-Weiterleitung – SSH-Tunnel durch eine Firewall – RDP-Tunnel über SSH-Port

Aufgabenstellung: Man betreibt in seinem Heimnetzwerk einen Linux-Server und mehrere Windows-Rechner. Vom Internet aus möchte man nun auf seine Windows-Rechner per RDP (Remote Desktop Protocol Port 3389) zugreifen. Aus Sicherheitsgründen ist aus dem Internet aber kein direkter Zugriff auf den RDP Port 3389 im Heimnetzwerk möglich. Allein der Zugriff auf den Linux-Rechner per SSH ist per Port-Weiterleitung im Router des Heimnetzwerks aktiviert.

Lösung: Tunneln der RDP-Verbindung durch das SSH-Protokoll.

a) Nativ von einer Linux / Mac OSX Shell:

ssh -LYYYY:NAME_DES_WINDOWS_RECHNERS:3389 BENUTZERNAME@IP_DES_ROUTERS -p XXX
# -LYYYY = Lokaler Port über den die RDP-Vebindung geöffnet wird.
# NAME_DES_WINDOWS_RECHNERS: Name oder IP des Windows Rechners, auf den per RDP zugegriffen werden soll, im lokalen Netz
# -p XXX = Port der vom Router fürs Internet freigegeben wurde und an den SSH Port des Linux Rechner weiter geleitet wird.
# IP_DES_ROUTERS = Öffentliche IP Adresse oder DNS-Name unter der der Router im Internet zu erreichen ist. 
# z.B: 
ssh -L5000:192.168.1.234:3389 max@mustermann.dyndns.com -p 10000

b) Mit dem SSH-Client Putty von einem Windows-System:

Um mit Putty das RDP-Protokoll über eine SSH-Verbindung tunneln zu können, muss man in den Sessioneinstellungen, unter Connection –> SSH –>  Tunnels den lokalen Port, den zu tunnelnden Remote Port und den Zielrechner für den Tunnel definieren:

putty_ssh_tunnel_01 putty_ssh_tunnel_02

Um nun also vom Internet aus auf seinen Windows-Rechner per RDP (Remote Desktop Protocol Port 3389) zuzugreifen, muss man, nachdem die SSH-Verbindung geöffnet wurde, eine RDP-Verbindung zu localhost:5000 (Localhost Port 5000) öffnen.

rdp_tunnel_ueber_ssh

Darstellung von Umlauten und Linien bei einer SSH Verbindung mit Putty zu einer openSuse Installation.

Problem: Nach dem Umstieg von Suse Linux 9.3 auf openSUSE Linux 10.1 traten bei einer SSH Verbindung mit Putty Fehler bei der Darstellung von Sonderzeichen und Linien auf. Ein Umstellen des Zeichensatzes auf UTF-8 in Yast und bei Putty behob dieses Problem nur zum Teil. Entweder wurden die Linien richtig dargestellt, aber die deutschen Umlaute nicht, oder es wurden die Umlaute korrekt angezeigt, aber die Linien nicht.

Lösung: Ein Hinweis in der openSUSE-de Maillingliste, half das Problem zu beheben. Wichtig ist folgende Einstellung unter Putty: Unter CONNECTION -> DATA -> TERMINAL-TYPE STRING muss der Wert XTERM mit dem Wert „linux“ (Achtung: Diese Einstellung ist Case Sensitive. Das heißt „linux“ in Kleinbuchstaben schreiben) ersetzt werden. Weiterhin wurde bei Putty der Zeichensatz unter WINDOW -> TRANSLATION auf UTF-8 geändert. Nun werden alle Umlaute und Linien, bei einer SSH Verbindung mit Putty, wieder korrekt dargestellt.

Fehlerhafte Umlautdarstellung bei Putty

Fehlerhafte Umlautdarstellung

Fehlerhafte Liniendarstellung bei Putty

Fehlerhafte Liniendarstellung

Korrekte Darstellung

Korrekte Darstellung