NFS, SSH und SMB zwischen Windows Vista und Linux

Datenaustausch zwischen Linux und Windows Vista

14.12.2007 von Jürgen Donauer
Dieser TecChannel-Artikel zeigt verschiedene Möglichkeiten des Filesharing zwischen Windows Vista und Linux.

Seit ungefähr einem Jahr ist es nun auf dem Markt. Die Rede ist von Microsofts Windows Vista. Mit jedem neuen Betriebssystem aus Redmond stellt sich die Frage, ob ein reibungsloser Datenaustausch im gewohnten Stile möglich ist.

Viele Menschen und Firmen betreiben heutzutage einen Linux-Datenserver. Dieser muss nicht immer mit Samba ausgestattet sein. Dateifreigaben mittels NFS, SSH und Konsorten gehören immer noch zu viel genutzten Protokollen. Gerade SSH-Zugriffe sind wegen der verschlüsselten Datenübertragung beliebt – besonders, wenn man Daten über das WAN transportieren muss.

Welche Verfahren es dazu gibt und wie es mit der Kompatibilität in Sachen Datenaustausch von Linux nach Vista und umgekehrt bestellt ist, haben wir in diesem Artikel unter die Lupe genommen. Dabei sind zwei grobe Test-Szenarien möglich. Linux als Server und Vista als Client sowie die umgekehrte Variante.

Während Linux eigentlich alles Notwendige standardmäßig bereitstellt, muss man bei Windows manchmal mit diversen Zusatz-Tools nachhelfen. Wir zeigen, ob diese Helferlein auch unter Vista noch funktionieren.

Linux serviert, Vista lässt dienen

Das erste Szenario beschäftigt sich mit Linux als Daten-Server. Dabei beschränken wir uns auf die Methoden SMB (Samba), NFS und SSH/SCP. Damit dürften die gängigsten Methoden abgedeckt sein, Daten von einem Linux-Server abzuholen.

Tanzt Vista Samba mit dem Pinguin?

In internen Netzwerken ist es heutzutage keine Seltenheit mehr, dass eine Linux-Maschine als Datenserver fungiert. Dies hat unter anderem einen finanziellen Aspekt. Ein Schnellschuss-Versuch, mit Vista via Samba auf Linux zuzugreifen schlug zunächst fehl. Genauere Nachforschungen ergaben, dass Vista offensichtlich nicht mit Samba-Versionen spricht, die kleiner als 3.0.10 sind.

Beim Nachstellen dieses Tests sollten Sie diesen Umstand berücksichtigen und eventuell nachbessern. Nach einem Update auf Samba-Version 3.0.22 funktionierte ein Zugriff von Windows Vista auf den Linux-Rechner ohne Probleme. Wie gewohnt erscheint ein Fenster, das zur Eingabe von Samba-User und Passwort auffordert. Ist dies korrekt erledigt, können Sie nach Herzenslust Daten von Linux nach Vista kopieren und umgekehrt.

Funktioniert: Mit der richtigen Version funktioniert ein Datenaustausch einwandfrei.

Mit NFS (Network File System) von Vista nach Linux

Ein NFS-Server ist unter Linux schnell aufgesetzt. Die meisten Distributionen bringen den gewünschten Dienst mit sich. Im schlimmsten Fall müssen Sie die NFS-Services von den Installations-Medien oder via Internet nachinstallieren.

Für die Freigaben eines NFS-Servers ist in der Regel die Datei /etc/exports zuständig. Diese können Sie entweder manuell oder zum Beispiel komfortabel via Webmin editieren. Tipps und Tricks zur Konfiguration eines NFS-Servers finden Sie zuhauf im Internet. Interessanter ist die Frage, wie Windows Vista auf diese Freigaben zugreifen kann.

Open-Source: Dank freier Software kann man mit allen Windows-Versionen auf NFS-Laufwerke zugreifen.

Wer sich früher mit diesem Thema auseinandersetzte, dem dürften die "Microsoft Windows Services for UNIX" ein Begriff sein. Diese Erweiterung stellte unter anderem NFS-Server und -Client für Windows zur Verfügung. Microsoft hat das Projekt in "Subsystem for UNIX-based Applications" umbenannt. Dieses Subsystem ist in Vista implementiert, allerdings nur in den Enterprise- und Ultimate-Varianten.

Möchte man NFS nur als Client verwenden, kann man sich zum Beispiel mit dem kostenlosen JFtp behelfen. Dies ist eine Plattform-unabhängige in Java geschriebene Software. Wer eine kommerzielle Lösung bevorzugt, ist mit nfsAxe von LabF gut bedient. Die Software schlägt mit 40 US-Dollar zu Buche. Vorteil ist, dass sie gleich einen NFS-Server für Windows mit sich bringt. Eine weitere Möglichkeit wäre Omni-Lite-Client, das allerdings 89 US-Dollar kostet.

Verschlüsselte Datenübertragung via SSH/SCP

Linux bringt mit dem openssh-Server das geeignete Stück Software mit, Daten verschlüsselt via SSH zu übertragen. Auch hier finden Sie im Internet ausreichend Anleitungen zur Konfiguration dieses Dienstes. Windows Vista stellt zunächst keine Möglichkeit bereit, dieses sichere Protokoll zu verwenden. Es gibt allerdings zahlreiche kostenlose Helfer dafür.

Drag and Drop: WinSCP ist ein nützliches Werkzeug für verschlüsselten Datenaustausch.

Die populärsten Vertreter lassen sich auch unter Vista betreiben. WinSCP unterstützt sowohl SFTP mittels SSH, als auch das alte SCP-Protokoll. Damit können Sie mittels Mausklick Dateien von Linux nach Windows kopieren. Ein weiterer sehr bekannter Vertreter ist FileZilla. Dieser Client kann mit sicheren SSL-Verbindungen und SFTP umgehen.

Eine weitere Möglichkeit ist das wohl bekannte Cygwin. Auch diese kostenlose Software lässt sich unter Windows Vista installieren. Sie enthält Kommandozeilen-Tools, wie zum Beispiel sftp.exe, scp.exe oder ssh.exe. Mit eben genannten können Sie auf Linux-Systeme via SSH zugreifen und auch Daten transferieren. Es bestünde sogar die Möglichkeit, zum Beispiel KDE unter Windows zu installieren. Danach könnten Sie die Vorzüge grafischer Linux-Clients genießen. Nebenbei bemerkt gäbe Ihnen Cygwin die Möglichkeit, Anwendungen von Ihrem Linux-Rechner via X-Forwarding zu starten.

Vista spielt Server, Linux bedient sich

Linux lässt sich also problemlos mit allen drei Verfahren als Server einsetzen. Nun machen wir den Umkehrschwung: Vista soll als Server und Linux als Client dienen, auch wenn diese Variante eher selten vorkommen dürfte. Auch hier haben wir die Protokolle SMB, NFS und SSH/SCP unter die Lupe genommen.

Windows Dateifreigaben und Zugriff unter Linux

Unter Windows kann man Ordner freigeben und auf diese via Netzwerk zugreifen. Hier hat sich unter Vista gegenüber XP vom Arbeitsablauf nicht viel verändert. Der Anwender wählt einen Ordner, gibt diesen frei und wählt eventuell noch Zugriffsberechtigungen aus. Unter Linux gibt es verschiedene Möglichkeiten, auf diese Freigaben zuzugreifen. Da als Protokoll SMB dient, brauchen Sie logischerweise ein Samba-Client-Paket. Zudem gibt es diverse grafische Tools, die einem das Leben erleichtern. Als Beispiele seien hier Smb4k, LinNeighbourhood und Konqueror genannt.

Umkehrschwung: Helfer wie Smb4k erleichtern das Leben ungemein.

Komischerweise schlug das Mounten der Freigabe mit den ersten beiden genannten Tools unter Ubuntu 6.10 fehl. Eine Recherche in einschlägigen Foren brachte leider keine Lösung für dieses Problem. Ein manuelles Einbinden der Freigabe klappte dagegen tadellos:

mount -t smbfs -o username=[Windows User] password=[Passwort] //[IP-Adresse Windows-Rechner]/[Freigabe] /[Mountpoint]

Tipp: Sollte Sie die IP-Adresse eines Windows-Rechners nicht wissen, hilft das Kommandozeilen-Tool nmblookup weiter:

nmblookup [Name Windows Rechner]

liefert schnell das gewünschte Ergebnis.

NFS-Server unter Vista

Wie bereits erwähnt ist das "Subsystem for UNIX-based Applications" den Editionen Enterprise und Ultimate vorbehalten. Sollten Sie keine dieser Varianten besitzen, gibt es mehrere Möglichkeiten, aus Vista einen NFS-Server zu machen. Zum Beispiel können Sie den Allegro NFS Server verwenden. Die Software steht unter der Lisp Lesser GNU Public License (LLGPL). Das Programm hat allerdings den Nachteil, dass Sie es selbst kompilieren müssen. Das vorgefertigte Binär-Paket ist nicht kostenfrei und belastet den Geldbeutel mit 65 US-Dollar. Der Omni-NFS-Server ist ebenfalls eine kommerzielle Lösung und schlägt mit 99 US-Dollar zu Buche. Als günstigste kommerzielle Alternative wurde bereits nfsAxe erwähnt.

Kostenlos: Cygwin ist nicht besonders schön, aber unglaublich schonend für den Geldbeutel.

Es geht allerdings auch kostenlos. Schlaue Füchse entsinnen sich einmal mehr, welche nahezu unbegrenzten Möglichkeiten Cygwin mit sich bringt. Sieht man sich bei der Installation dieses Software-Pakets genauer um, findet man unter anderem einen NFS-Server. Zu beachten ist, dass die integrierte Windows-Firewall sich gegebenenfalls quer stellt. Die Ports 2049 für nfsd und 111 für sunrpc sollten Sie also händisch für UDP und TCP frei schalten. Weitere Tipps und Hinweise zu NFS-Server unter Cygwin finden Sie unter anderem auf dieser Seite: http://www.csparks.com/CygwinNFS/index.xhtml

Vista als SSH-Server konfigurieren

Obwohl auch für diesen Fall keine entsprechende Software beiliegt, kann man Windows Vista auch als SSH-Server nutzen. Unschwer zu erraten, dass Cygwin hierfür ebenfalls eine passende, einfach zu konfigurierende Lösung bereithält.

In der Installations-Routine finden Sie die Pakete openssh, tcp_wrappers und zlib. Nach dem Einspielen der entsprechenden Software begeben Sie sich zu den Umgebungs-Variablen von Windows. Hier müssen Sie zunächst eine neue Systemvariable namens CYGWIN anlegen. Als Wert ist hier ntsec tty zu verwenden.

Zudem ist die Pfad-Variable von Windows um den Eintrag ;c:\cygwin\bin zu erweitern. Die Konfiguration des Servers erfolgt mit dem Aufruf von ssh-host-config in einem Cygwin-Fenster. Nach einer erfolgreichen Konfiguration können Sie den Dienst in einer Cygwin-Shell mit net start sshd oder cygrunsrv --start sshd starten. Jeder Windows-Benutzer, der den openssh-Service in Anspruch nehmen will, muss ein Passwort haben.

Im nächsten Schritt gleichen Sie die Passwörter mit Cygwin ab:

mkpasswd -cl > /etc/passwd
mkgroup --local > /etc/group

Eine sehr detaillierte Anleitung zu dieser Thematik finden Sie in englischer Sprache hier: http://pigtail.net/LRP/printsrv/cygwin-sshd.html

Handarbeit nötig: Gewusst wie und mit einigen Handgriffen lässt sich ein kostenfreier SSH-Server unter Vista betreiben.

Läuft der openssh-Server erst einmal unter Windows, können Sie mit Linux ohne weiteres darauf zugreifen. Hierfür verwenden Sie einfach die üblichen Verdächtigen, zu denen auch die Kommandozeile gehört: ssh [Windows-Rechner]. Als grafische Clients kommen Krusader, Konqueror und viele andere in Frage.

Grundsätzliches und Tipps zu Samba

Samba ist derzeit unbestritten die wichtigste Methode, um in internen Netzwerken Daten zwischen Linux und Windows auszutauschen. Einen Samba-Server aufzusetzen ist keine Hexerei mehr. Die meisten Distributionen bieten sogar kleine Tools an. Damit kann man mit wenigen Klicks so genannte Shares schnell und komfortabel einrichten.

Die gesamte Konfiguration eines Samba-Servers ist in der Datei smb.conf hinterlegt. Diese befindet sich normalerweise im Verzeichnis /etc/samba/. Freunden der Kommandozeile steht es natürlich frei, diese Datei von Hand zu konfigurieren. Nach einer Änderung müssen Sie lediglich den Samba-Daemon neu starten. In den meisten Fällen geschieht das so:

/etc/init.d/samba restart

Für Konsolenfans: Die Konfiguration von Samba ist in der Datei smb.conf enthalten.

Es gibt allerdings wesentlich elegantere Wege, Samba zu konfigurieren. Wie bereits erwähnt liefern viele Distributionen eigene Werkzeuge mit. Empfehlenswert ist Webmin. Damit haben Sie ein plattformunabhängiges Tool, mit dem Sie via Browser sogar ein gesamtes Linux-System administrieren können. Das Samba-Modul in Webmin ist sehr ausgereift und funktioniert gut. Am Rande erwähnt können Sie mit dem Web-basierten Werkzeug ebenfalls NFS-Exports und den SSH-Daemon administrieren.

Ein kurzer Test am Rande ergab, dass sich auch Vista grundsätzlich als Client in eine Samba-Domäne aufnehmen lässt. Wie Sie einen Samba-Server als PDC konfigurieren, zeigt beispielsweise unser Artikel Linux als PDC mit Samba 3. Ebenso gibt es auf vielen Seiten Anleitungen, einen Windows-Client in eine Samba-Domäne aufzunehmen. In einschlägigen Foren gibt es Diskussionen, dass es Problem mit der Policy-Verteilung und Vista geben kann. In dieser Tiefe hat TecChannel allerdings nicht getestet.

Nützliche Hinweise zu Webmin

Webmin ist ein ausgereiftes Werkzeug, einen Linux-Rechner komplett zu administrieren. Der große Vorteil daran ist, dass es Web-basiert via Browser von statten geht. Das Tool ist dazu noch mehr oder weniger Plattform-unabhängig. Sollten verschiedene Distributionen im Einsatz sein, müssen Sie sich nicht mit den Konfigurations-Eigenarten der einzelnen Systeme auseinandersetzen. Webmin bietet mittlerweile fast alles, was das Herz begehrt. Sie können damit unter anderem auch Samba, NFS und SSH administrieren.

Komfort: Webmin ist eine der elegantesten Lösungen für Nicht-Konsolen-Freaks.

Die Installation ist denkbar einfach. Besorgen Sie sich zunächst die neueste Version von Webmin. Es stehen deb-und rpm-Pakete sowie eine tar.gz-Datei zur Verfügung. Auf den meisten Systemen spielen Sie es einfach mit rpm -ivh webmin-Paket.rpm oder dpkg -I webmin-Paket.deb ein.

Sollten irgendwelche Abhängigkeiten nicht erfüllt sein, meldet das System diesen Umstand. In den meisten Fällen können Sie fehlende Pakete online mittels apt oder yum nachinstallieren. Webmin bringt einen eigenen Webserver mit und horcht danach auf dem Port 10000. Sobald erfolgreich installiert, können Sie das Frontend unter der Adresse https://localhost:10000 aufrufen. Eine Anmeldung ist dem Benutzer root erlaubt oder allen Benutzern, die mittels sudo System-Kommandos aufrufen können.

Fazit

Grundsätzlich kann man sagen: Was mit Linux und XP funktioniert hat, klappt auch mit Vista und Linux. Völlig außer Frage steht, dass Linux auch Vista in Sachen mitgelieferter Software haushoch überlegen ist. Was die Distributionen nicht standardmäßig installieren, spielt der Anwender in kürzester Zeit via apt, yum oder einem anderen Paketmanager ein.

Bei Vista muss der User gezwungenermaßen eine Suchmaschine bemühen und sich geeignete Software suchen. Gut, das Betriebssystem aus Redmond hat nicht den Anspruch eines Server-Systems. Allerdings erwartet man von einem modernen OS, dass es zumindest mit Allerwelts-Protokollen wie NFS und SSH per Default umgehen kann. Client-Unterstützung für NFS finden Sie allerdings nur in den Vista-Editionen Enterprise und Ultimate. (jdo)