Acasă
» Cum să
»
How to Mount a Remote SSHFS Directory Automatically at Boot in Debian
How to Mount a Remote SSHFS Directory Automatically at Boot in Debian
To mount a remote SSHFS directory automatically in Debian, configure noninteractive SSH authentication and add an SSHFS entry to /etc/fstab. With systemd, you can either connect during boot or activate an automount at boot and connect when the directory is first accessed. The second approach is useful when the remote server or network may be unavailable during startup.
This reference uses Debian 13 “trixie” documentation reviewed on October 9, 2026, including SSHFS 3.7.3 and systemd 257 documentation. The commands are configuration examples, not results from a tested deployment. Check your installed manuals if you use another release.
Choose when the SSHFS connection should start
Requirement
Configuration choice
Expected behavior
Make the directory available on demand after boot
Use x-systemd.automount
The first access triggers the remote mount.
Attempt the remote connection during boot
Omit x-systemd.automount
systemd starts the mount as part of startup.
Allow startup to continue if storage is unavailable
Use nofail
The mount is not a required boot dependency.
An application must wait for this storage
Add a dependency to that application’s service
The application starts only after the mount succeeds.
The main example uses an on-demand mount. The distinction matters: an active automount does not mean an SSHFS connection already exists. See Debian’s systemd automount manual for the relationship between the automount and its matching mount unit.
Before you start
The Debian client uses systemd and you have sudo access.
The remote account supports SFTP and can access the intended directory.
The client can reach the remote host, including any required VPN or jump host.
You have a way to verify the remote server’s SSH host-key fingerprint.
The local mount point is empty and is not a critical system directory.
Replace files@storage.example.net:/srv/data with your remote username, hostname, and directory. The hostname is a placeholder. The local mount point is /mnt/remote; the dedicated key is /root/.ssh/sshfs_boot.
This is an administrator-managed system mount. It runs locally as root but logs into the remote server as files, not remote root. The SSHFS project documentation generally recommends running ordinary interactive mounts as a regular user. A system boot mount requires deliberate credential and access management.
Install SSHFS on the Debian client. The remote system needs working SFTP service; it does not need an SSHFS installation just to serve files. If package installation fails, resolve the repository or connectivity issue before editing boot configuration.
Install the SSHFS client and OpenSSH tools on Debian.
Nu suprascrieți o cheie existentă la acea cale. Alegeți un alt nume, dacă este necesar, și folosiți-l în mod consecvent mai jos. Parola goală este intenționată pentru acest exemplu nesupravegheat: nu există nicio persoană disponibilă pentru a debloca cheia în timpul pornirii. Protejați clientul și acordați contului la distanță doar permisiunile de director de care are nevoie. Dacă politica dvs. necesită chei criptate, aranjați în schimb un mecanism de deblocare nesupravegheată gestionată.
Opțiunile de generare a cheilor sunt documentate în manualul ssh-keygen al Debian . O cheie deblocată în agentul SSH de pe desktop nu este disponibilă automat pentru montarea sistemului.
Pregătiți directoarele locale înainte de a crea cheia de boot dedicată.
3. Autorizați cheia și verificați SFTP-ul nesupravegheat
În timpul acestei conexiuni de configurare, comparați amprenta cheii gazdă afișată cu o valoare obținută de la administratorul serverului printr-un canal de încredere înainte de a o accepta. Comanda se execută ca utilizator root local, deci înregistrarea obișnuită a cheii gazdă este stocată în fișierele SSH ale utilizatorului root. Dacă configurarea bazată pe parolă este dezactivată pe server, solicitați administratorului să instaleze cheia publică.
Apoi, testați SFTP cu aceeași identitate și fișier cu cheie gazdă pe care le va folosi și montarea la boot:
La promptul SFTP, utilizați ls /srv/data, apoi bye. Aceasta trebuie să funcționeze fără parolă sau prompt de confirmare. BatchMode=yesprevine autentificarea interactivă; setarea explicită a cheii gazdă păstrează verificarea. Aceste opțiuni sunt definite în manualul de configurare a clientului OpenSSH .
Pentru un port diferit de cel implicit, utilizați -p 2222cu ssh-copy-id, -P 2222cu sftp și port=2222în opțiunile SSHFS. Dacă este necesar un jump host, configurați și testați și ruta respectivă în contextul SSH al utilizatorului root.
Autorizați cheia publică dedicată pentru contul la distanță exemplificat; verificați amprenta gazdei în timpul configurării.
Verificați dacă listarea aparține directorului la distanță dorit. Acest exemplu permite inițial accesul doar proprietarului local de montare, root, așadar folosiți sudo pentru verificare. Finalizați prin demontare înainte de a începe configurația gestionată de systemd. Închideți shell-urile și aplicațiile folosind directorul dacă acesta este ocupat.
SSHFS folosește permisiunile contului la distanță. Dacă ești root pe client, nu acordă permisiuni suplimentare pe server. Corectează aici erorile de autentificare, SFTP sau cale la distanță înainte de a face configurația persistentă.
Terminalul prezintă un exemplu de montare manuală; folosiți comanda completă și opțiunile de verificare din text.
5. Adăugați intrarea fstab persistentă
sudo cp -a /etc/fstab /etc/fstab.sshfs-backup
sudoedit /etc/fstab
Alegeți un nume diferit pentru fișierul de rezervă dacă există deja o copie de rezervă. Adăugați următoarele pe o singură linie fizică , înlocuind exemplul de server și cale:
Manualul SSHFS al Debian specifică sshfstipul de sistem de fișiere fstab și îl acceptă fuse.sshfspentru compatibilitate. Câmpurile finale dezactivează dump-ul și programarea filesystem-check pentru această intrare. Consultați referința formatului fstab dacă căile conțin spații albe.
Opțiune
Scop
_netdev
Clasifică montarea ca dependentă de rețea.
nofail
Permite bootarea să continue fără a fi necesară această montare.
x-systemd.automount
Creează o montare automată declanșată de acces.
x-systemd.mount-timeout=30s
Limitează timpul de așteptare al comenzii inițiale de montare.
ConnectTimeout=10
Stabilirea conexiunii SSH de către Bounds.
reconnectși setări server activ
Ajută la detectarea unei conexiuni întrerupte și la reconectare.
Opțiunile specifice systemd sunt documentate în manualul de montare Debian systemd . Timeout-ul de montare nu impune un termen limită pentru fiecare operațiune ulterioară asupra fișierelor.
Faceți o copie de rezervă a fișierului fstab înainte de a adăuga intrarea SSHFS persistentă.
6. Reîncărcați systemd și activați montarea automată
sudo findmnt --verify --verbose
sudo systemctl daemon-reload
sudo systemctl start mnt-remote.automount
systemctl status mnt-remote.automount
sudo ls /mnt/remote
findmnt -t fuse.sshfs
Verificați mesajele de verificare înainte de a continua. Manualul findmnt descrie verificarea fstab; aceasta verifică configurația, nu dacă datele de autentificare la distanță funcționează. Accesarea directorului efectuează testul separat de conexiune.
Numele unităților de mai sus corespund cu /mnt/remote. Pentru o altă cale, derivați numele de montare cu systemd-escape --path --suffix=mount /your/path. Unitățile generate din fstab nu necesită o systemctl enablecomandă separată.
Dacă doriți o încercare de conectare în timpul pornirii, eliminați x-systemd.automountdin intrare. După eliberarea utilizatorilor din director, opriți unitățile de automount și mount, reîncărcați systemd și porniți unitatea de mount corespunzătoare. Păstrați nofaildacă stocarea ar trebui să rămână opțională.
Reîncărcați systemd și porniți unitatea de automount generată.
7. Verificați comportamentul după o repornire
Reporniți la un moment potrivit pentru mentenanță. Cu configurația la cerere, verificați mai întâi montarea automată, apoi accesați directorul:
systemctl status mnt-remote.automount
sudo ls /mnt/remote
systemctl status mnt-remote.mount
findmnt -t fuse.sshfs
Semnele așteptate sunt o montare automată activă după pornire și o montare SSHFS reală după accesare. O autofsintrare în sine nu dovedește că fișierele la distanță sunt conectate. Verificați un fișier sau un director la distanță cunoscut, nu doar că există folderul punctului de montare local.
Dacă o aplicație trebuie să aibă acest spațiu de stocare înainte de a porni, adăugați un drop-in la serviciul său care să conțină:
[Unit]
RequiresMountsFor=/mnt/remote
Această dependență, documentată în systemd.unit , extrage și comandă montările necesare. Reîncărcați systemd și testați separat pornirea acelei aplicații. Aplicația are nevoie și de permisiuni de acces local corespunzătoare.
Accesați directorul, apoi inspectați montarea SSHFS reală și starea unității sale.
Repetați testul SFTP în contextul rădăcină; verificați cheia selectată și autorizarea la distanță.
Verificarea cheii gazdă eșuează
Verificați amprenta serverului și intrarea known_hosts a utilizatorului root. Investigați o cheie modificată înainte de a o actualiza.
Rezolvarea numelui sau conexiunea eșuează
Verificați DNS, rutare, acces la port, pornire VPN și disponibilitatea jump-host.
sudo poate citi fișiere, dar un utilizator local nu poate
Examinați politica de acces FUSE și maparea proprietății.
Montarea este ocupată
Închide procesele al căror director de lucru sau fișiere deschise se află sub punctul de montare.
network-online.targeteste un punct de sincronizare la pornire, nu o garanție că un anumit server sau VPN este accesibil. Explicația systemd network-online descrie această limitare.
Pentru accesul intenționat de către un utilizator local, luați în considerare adăugarea allow_other,default_permissions,uid=1000,gid=1000, înlocuind ID-urile locale reale. Aceasta expune accesul dincolo de proprietarul montării, în timp ce verificările permisiunilor kernelului se aplică în continuare. Opțiunile UID/GID modifică proprietatea prezentată, nu proprietatea pe partea de server. Montările root nu necesită user_allow_otherfișier fuse.conf; această politică permite montărilor non-root să solicite acces mai larg. Consultați manualul de permisiuni FUSE . Testați din nou ca utilizator intenționat al aplicației după modificarea acestor opțiuni.
După remedierea problemei de bază, ștergeți o stare de montare eșuată și încercați din nou accesul:
sudo systemctl reset-failed mnt-remote.mount
sudo ls /mnt/remote
Reconectarea nu este o recuperare transparentă pentru fiecare aplicație: fișierele deschise anterior pot eșua și este posibil să fie nevoie de redeschidere. Scrierile întrerupte pot provoca pierderea de date. Alegeți un alt design de stocare dacă volumul de lucru necesită garanții mai puternice de defecțiune.
Citește mai întâi jurnalul de montare; șterge o stare defectă după corectarea cauzei acesteia.
Listă de verificare operațională și revenire la situație
SFTP-ul nesupravegheat funcționează folosind identitatea exactă de bootare.
Cheia gazdă este verificată și stocată în fișierul așteptat.
Intrarea fstab analizează și nu conține parole sau conținut de cheie privată.
Accesul după repornire produce lista de la distanță dorită.
Utilizatorul sau serviciul local real poate citi fișierele necesare.
Înțelegeți cum gestionează aplicația spațiul de stocare indisponibil.
Pentru a dezactiva configurația, opriți aplicațiile care utilizează directorul, opriți mnt-remote.automountși mnt-remote.mount, eliminați doar această intrare din fstab și executați sudo systemctl daemon-reload. Păstrați celelalte intrări fstab. Eliminarea configurației de montare nu șterge fișierele la distanță și nu revocă cheia autorizată la distanță.