Per SSH auf Windows-Freigaben zugreifen
Ich habe im Artikel „Fenster am Ende des Tunnels“ (c't 4/06, S. 228) gelesen, wie man unter Windows per SSH auf Freigaben zugreift. Wie geht das unter Linux?
- Johannes Endres
Ich habe im Artikel „Fenster am Ende des Tunnels“ (c't 4/06, S. 228) gelesen, wie man unter Windows per SSH auf Freigaben zugreift. Wie geht das unter Linux?
Unter Linux könnten Sie mit dem Standard-SSH-Client OpenSSH im Prinzip analog vorgehen: einen Alias zum Loopback-Interface anlegen, es mit einer Adresse versehen und von der aus den Port 139 tunneln. Dieser Aufwand ist jedoch nicht notwendig, da Linux Samba nutzt, dessen SMB-Client schlauer als der Microsoft-eigene ist. Er kann nämlich nicht nur über Port 139 auf Freigaben zugreifen, sondern über beliebige. So kommt er Freigaben auf demselben Rechner gar nicht ins Gehege und der Klimmzug mit dem Alias-Interface ist überflüssig.
Wenn also der Server im entfernten Netz die Adresse 192.168.1.1 hat, kann man einfach mit der Kommandozeilenoption -L 50139:192.168.1.1:139 einen Tunnel einrichten, der lokal auf Port 50139 beginnt. Dem smbclient gibt man beim Zugriff die Option -p 50139 mit, dem mount-Befehl die Option -o port=50139.
Der Befehl, um alle Freigaben aufzulisten, lautet also
smbclient -L -p 50139 \\127.0.0.1
Wenn man in der Konfigurationsdatei .ssh/config die Zeile
host name
hostname daheim.dyndns.org
LocalForward 50139 192.168.1.1:139
einträgt, spart man sich die ständige Angabe der Tunneloptionen auf der Kommando-zeile. ()