Alles, was du für SSHFS unter Windows 10 und 11 brauchst: wofür WinFsp und SSHFS-Win da sind, wie du ein Laufwerk per Explorer, net use oder GUI verbindest, welche sshfs.exe-Optionen wirklich zählen – und wie du typische Fehler wie Nullbyte-Dateien oder verspätet auftauchende Ordner behebst.
SSHFS (SSH Filesystem) bindet einen Ordner auf einem entfernten Server über eine ganz normale SSH-Verbindung als lokales Dateisystem ein. Jeder Dateizugriff läuft über SFTP, das Dateiübertragungs-Subsystem von SSH. Auf dem Server brauchst du deshalb nur einen SSH-Login mit aktiviertem SFTP (bei OpenSSH Standard) – keine zusätzliche Server-Software und keinen offenen SMB-Port. Unter Windows übernehmen das zwei kostenlose Open-Source-Komponenten: WinFsp und SSHFS-Win.
sshfs.exe samt eigenem SSH-Client mit und verbindet WinFsp mit dem SFTP-Server.Installiere zuerst WinFsp und danach SSHFS-Win. Beide gibt es kostenlos als MSI-Installer auf GitHub; für die Installation brauchst du einmalig Administratorrechte. Auf einem 64-Bit-Windows wählst du das x64-Paket von SSHFS-Win. Das spätere Verbinden und Trennen der Laufwerke funktioniert ohne Administratorrechte.
Lege in NEO SSH-Win Manager eine Verbindung an: Host, Port (meist 22), Benutzername und den Remote-Pfad, der zur Laufwerkswurzel werden soll – zum Beispiel /var/www oder auf einem Windows-Server C:\Projekte. Wähle Passwort oder SSH-Schlüssel als Anmeldung und einen Laufwerksbuchstaben, oder lass die App einen freien Buchstaben wählen. Die Zugangsdaten werden mit einem Schlüssel verschlüsselt gespeichert, der aus deinem App-Passwort abgeleitet ist.
Ein Klick auf „Mount“ startet sshfs.exe im Hintergrund, und nach wenigen Sekunden erscheint der Server als Laufwerk im Explorer – nutzbar aus jedem Programm, auch aus Editoren, IDEs und Build-Tools. Mit „Automatisch neu verbinden bei Verbindungsverlust“ kommt das Laufwerk nach Netzwerkunterbrechungen zurück. Mit „Mit Windows starten“ und „Beim Start automatisch verbinden“ sind deine Laufwerke nach der Anmeldung wieder da.
SSHFS-Win meldet sich in Windows als Netzwerk-Anbieter an. Deshalb kannst du ein Laufwerk direkt im Explorer verbinden (Dieser PC → Netzlaufwerk verbinden) oder in der Eingabeaufforderung mit net use. Beim ersten Mal fragt Windows nach dem Passwort und kann es in der Anmeldeinformationsverwaltung speichern.
net use X: \\sshfs\alice@server.example.com
net use Y: \\sshfs.r\alice@server.example.com!2222\var\www
net use X: /delete
Die allgemeine Form lautet \\sshfs\BENUTZER@HOST[!PORT][\PFAD]. Das Präfix legt fest, wo der Pfad beginnt und wie du dich anmeldest:
| Präfix | Bedeutung |
|---|---|
\\sshfs\ | Pfad relativ zum Home-Verzeichnis des Benutzers, Anmeldung per Passwort |
\\sshfs.r\ | Pfad relativ zum Wurzelverzeichnis des Servers (/), Anmeldung per Passwort |
\\sshfs.k\ | Home-Verzeichnis, Anmeldung mit dem Schlüssel %USERPROFILE%\.ssh\id_rsa |
\\sshfs.kr\ | Wurzelverzeichnis, Anmeldung mit dem Schlüssel %USERPROFILE%\.ssh\id_rsa |
Für gelegentlichen Zugriff reicht das. Der Weg hat aber Grenzen: Die Schlüssel-Varianten nutzen nur id_rsa und nur Schlüssel ohne Passphrase (andere Schlüssel brauchen einen Host-Alias in der SSH-Konfiguration), ein automatisches Neuverbinden lässt sich nicht einstellen, und jedes Laufwerk muss pro Benutzer einzeln gepflegt werden.
Statt über net use kannst du sshfs.exe aus C:\Program Files\SSHFS-Win\bin auch selbst aufrufen. Das ist der Weg, den NEO SSH-Win Manager im Hintergrund geht, weil er volle Kontrolle über Neuverbindung, Caches und Rechte gibt. Starte den Befehl in diesem Ordner, denn sshfs.exe braucht die ssh.exe daneben. Mit -f bleibt der Prozess im Vordergrund, und das Laufwerk existiert, solange er läuft. Das Beispiel ist eine gekürzte Fassung der Optionen, die die App verwendet:
cd "C:\Program Files\SSHFS-Win\bin"
sshfs.exe alice@server.example.com:/var/www X: -p22 -f ^
-ovolname=web -oreconnect ^
-oServerAliveInterval=15 -oServerAliveCountMax=3 ^
-oStrictHostKeyChecking=accept-new ^
-oUserKnownHostsFile=C:/Users/alice/.ssh/known_hosts ^
-oidmap=user -ouid=-1 -ogid=-1 -oumask=000 ^
-oFileInfoTimeout=1000 -oDirInfoTimeout=1000 -odcache_dir_timeout=1 ^
-oIdentityFile=C:/Users/alice/.ssh/id_ed25519
| Option | Wozu |
|---|---|
-oreconnect-oServerAliveInterval=15-oServerAliveCountMax=3 | Verbindet automatisch neu. Eine tote Verbindung wird nach etwa 45 Sekunden erkannt, statt dass der Explorer hängen bleibt. |
-oStrictHostKeyChecking=accept-new-oUserKnownHostsFile=… | Übernimmt den Host-Key eines neuen Servers beim ersten Verbinden in known_hosts. Ein geänderter Key eines bekannten Servers wird weiterhin abgelehnt. Den Pfad zur Datei gibst du absolut an, weil sshfs %USERPROFILE% nicht auflöst. |
-oidmap=user-ouid=-1 -ogid=-1-oumask=000 | Ordnet die Dateien deinem Windows-Benutzer zu und zeigt sie als beschreibbar an, damit Programme nicht schon vor dem Speichern abbrechen. Was du tatsächlich schreiben darfst, entscheiden weiterhin die Rechte auf dem Server. |
-oFileInfoTimeout=1000 | Hält Datei-Metadaten eine Sekunde im Cache. Niemals -1 verwenden: Das schaltet das Daten-Caching ein und kann zu Dateien führen, die nur noch Nullbytes enthalten (siehe unten). |
-oDirInfoTimeout=1000-odcache_dir_timeout=1 | Hält Verzeichnislisten aktuell, sodass neue Dateien nach etwa einer Sekunde statt nach 20 Sekunden erscheinen. |
-oIdentityFile=… | Nutzt einen beliebigen OpenSSH-Schlüssel (z. B. ed25519) statt nur id_rsa. Bei Passwort-Anmeldung übergibt NEO SSH-Win Manager das Passwort per -opassword_stdin, damit es nie in der Befehlszeile steht. |
-ovolname=web | Name des Laufwerks im Explorer. |
Das ist der tückischste SSHFS-Fehler. Beim Anlegen oder Überschreiben setzt sshfs die Datei auf dem Server zuerst auf ihre Endgröße – der SFTP-Server füllt diesen Bereich mit Nullen –, während die echten Daten noch in einem Schreib-Cache liegen. Mit -oFileInfoTimeout=-1 hält WinFsp diesen Zwischenstand dauerhaft für gültig und kann beim Zurücklesen die Nullen ausliefern. Wird sshfs.exe beim Trennen zusätzlich hart beendet, gehen noch nicht geschriebene Daten verloren. Lösung: einen endlichen Wert wie -oFileInfoTimeout=1000 verwenden, -osshfs_sync und -ono_readahead für synchrones Schreiben und Lesen ergänzen und Laufwerke immer sauber trennen. NEO SSH-Win Manager nutzt diese sicheren Einstellungen standardmäßig.
sshfs führt unterhalb des WinFsp-Caches einen eigenen Verzeichnis-Cache. Dessen Standardwert dcache_dir_timeout beträgt 20 Sekunden, und F5 im Explorer hilft nicht, weil sshfs weiter aus diesem Cache antwortet. Lösung: -odcache_dir_timeout=1 zusammen mit -oDirInfoTimeout=1000, oder den Verzeichnis-Cache mit -odir_cache=no ganz abschalten. In NEO SSH-Win Manager ist das die Einstellung „Verzeichnis-Cache deaktivieren (sofortiger Refresh)“.
Auf einem Server mit OpenSSH für Windows listet die SFTP-Wurzel „/“ die Laufwerksbuchstaben auf (/C:, /D:). Weil ein Doppelpunkt in Windows-Dateinamen nicht erlaubt ist, zeigt der Explorer sie als „C“ und „D“. Binde stattdessen einen konkreten Pfad ein – aus C:\Projekte wird /C:/Projekte – oder das Home-Verzeichnis des Benutzers. NEO SSH-Win Manager erkennt Windows-Server und wandelt solche Pfade automatisch um.
Windows kann die Unix-Besitzer und Rechte-Bits des Servers nicht eins zu eins abbilden. Ohne -oidmap=user und eine passende umask wirken Dateien für Windows-Programme schreibgeschützt oder fremd. Bleibt der Fehler, prüfe die Rechte auf dem Server selbst (ls -l): SSHFS kann nie mehr erlauben, als der SSH-Benutzer darf.
Ohne Keep-Alive fällt eine abgerissene Verbindung erst nach einem langen TCP-Timeout auf, und der Explorer friert ein. -oServerAliveInterval=15 -oServerAliveCountMax=3 zusammen mit -oreconnect erkennt das nach etwa 45 Sekunden und verbindet neu. Laufwerke, die nach einem Absturz übrig bleiben, entfernst du mit net use X: /delete. NEO SSH-Win Manager räumt solche Geisterlaufwerke automatisch auf.
Meldet sshfs „REMOTE HOST IDENTIFICATION HAS CHANGED“, hat sich der Host-Key eines bekannten Servers geändert, etwa nach einer Neuinstallation. Prüfe das beim Server-Betreiber und entferne dann den alten Eintrag aus %USERPROFILE%\.ssh\known_hosts, zum Beispiel mit ssh-keygen -R host. Schlüssel müssen im OpenSSH-Format vorliegen: PuTTY-Schlüssel (.ppk) wandelst du mit PuTTYgen über „Conversions → Export OpenSSH key“ um.
SSHFS ist ideal, wenn du mit Windows-Programmen an Server-Dateien arbeiten willst, als lägen sie lokal: Code in der IDE bearbeiten, Webprojekte pflegen, Logs und Konfigurationen öffnen. Für das Verschieben großer Datenmengen ist eine direkte SFTP-Übertragung oder rsync schneller, denn über SSHFS ist jeder Dateizugriff ein Netzwerk-Roundtrip. Im Firmennetz ist SMB oft flotter, braucht aber einen offenen Freigabe-Port – SSHFS kommt mit SSH aus.
SSHFS vs. SFTP vs. SMB im Vergleich
Ja. WinFsp und SSHFS-Win sind Open Source und kostenlos nutzbar. Auch NEO SSH-Win Manager ist kostenlos und Open Source (MIT-Lizenz).
Ja. WinFsp und SSHFS-Win laufen unter Windows 10 und 11, und NEO SSH-Win Manager unterstützt beide Versionen.
Nur einmal für die Installation von WinFsp und SSHFS-Win. Das Verbinden und Trennen von Laufwerken klappt als normaler Benutzer.
Ja, wenn darauf der OpenSSH-Server aktiviert ist. Binde einen konkreten Pfad wie C:\Projekte ein statt des Wurzelverzeichnisses (siehe oben). NEO SSH-Win Manager unterstützt Windows-Server seit Version 1.6.0.
Alle Daten laufen verschlüsselt über SSH, mit derselben Anmeldung wie dein SSH-Login (Passwort oder Schlüssel). Auf dem Server muss dafür nur der SSH-Port erreichbar sein.