Installare e usare SSHFS su CentOS

Cosa è SSHFS
SSHFS è un filesystem che usa il protocollo SSH File Transfer (SFTP/SSH) per montare una directory remota su una macchina locale. Definizione breve: monta directory remote usando la connessione SSH, permettendo di leggere e scrivere come se fossero locali.
Varianti dell’intento
- Installare SSHFS su CentOS
- Montare directory remote con SSH
- Persistenza montaggi SSHFS
- Alternative a SSHFS (Samba, NFS, rsync)
Prerequisiti
- Accesso root o sudo sulla macchina CentOS.
- Server remoto con server SSH attivo e credenziali (password o chiavi SSH).
- fuser/umount e pacchetto FUSE installati (yum installerà fuse se mancante).
Installare SSHFS con yum
Per installare la versione disponibile nei repository CentOS, esegui:
sudo yum install fuse-sshfs
Dopo l’installazione procedi a montare una cartella remota (sezione successiva).
Installare SSHFS da sorgente
Se vuoi la versione più recente o compilare manualmente:
cd /tmp
wget https://github.com/libfuse/sshfs/releases/download/sshfs_2.8/sshfs-2.8.tar.gz
Estrai e compila:
tar xvf sshfs-2.8.tar.gz
cd sshfs-2.8
./configure
make && sudo make install
Dopo l’installazione i binari di sshfs saranno disponibili nel PATH.
Preparare la directory locale
Crea la directory che userai come punto di mount. Nel tutorial useremo /var/mnt come esempio:
sudo mkdir -p /var/mnt
sudo chown $(whoami):$(whoami) /var/mnt
Nota: scegli un percorso adatto secondo le tue policy (es. /mnt/remote, /srv/sshfs, ecc.).
Montare una cartella remota con SSHFS
Esempio: il server remoto ha IP 192.168.0.10 e utente remoto “remoteuser”. Monta la root remota (/) su /var/mnt:
sshfs [email protected]:/ /var/mnt/
Opzioni utili:
- -o IdentityFile=/percorso/chiave : usa una chiave privata specifica.
- -o allow_other : consente ad altri utenti della macchina locale di accedere al mount (richiede fuse.conf abilitato).
- -o reconnect : tenta di riconnettere in caso di perdita della connessione.
- -p PORTA : specifica una porta SSH diversa.
Esempio con opzioni:
sshfs -o IdentityFile=/root/.ssh/id_rsa,reconnect,allow_other -p 2222 [email protected]:/home/remoteuser /var/mnt
Importante: il montaggio è temporaneo e verrà rimosso al riavvio a meno che non lo renda persistente.
Rendere il montaggio persistente
Due approcci comuni:
- Aggiungere /etc/fstab (consigliato per amministratori):
# Esempio fstab per sshfs
sshfs#[email protected]:/home/remoteuser /var/mnt fuse.sshfs defaults,_netdev,allow_other,IdentityFile=/root/.ssh/id_rsa,reconnect 0 0
Note:
- _netdev indica che il filesystem dipende dalla rete (evita errori all’avvio).
- È preferibile usare chiavi SSH senza passphrase + agent oppure un sistema di gestione segreto sicuro, mai inserire password in chiaro.
- Script di avvio (es. systemd unit o /etc/rc.local): creare un servizio systemd che esegue il comando sshfs dopo che la rete è pronta.
Esempio rapido systemd (snippet):
[Unit]
Description=Mount SSHFS remoto
After=network-online.target
Wants=network-online.target
[Service]
Type=oneshot
RemainAfterExit=yes
ExecStart=/usr/bin/sshfs -o IdentityFile=/root/.ssh/id_rsa,reconnect,allow_other [email protected]:/home/remoteuser /var/mnt
ExecStop=/bin/fusermount -u /var/mnt
[Install]
WantedBy=multi-user.target
Smontare una cartella remota
Per smontare il mount usa l’istruzione umount o fusermount:
sudo umount /var/mnt
Se umount fallisce, prova:
sudo fusermount -u /var/mnt
Nota: nello script originale c’era un percorso diverso (/var/tmp). Assicurati di usare lo stesso punto di mount con cui hai effettuato il mount.
Opzioni avanzate e suggerimenti
- Performance: SSHFS non è ottimizzato per grandi carichi I/O intensivi; per file di grandi dimensioni o carichi multipli considerare NFS o un file server dedicato.
- Caching: l’opzione -o cache_timeout può aiutare, ma attenzione alla coerenza dei dati.
- Timeout/riconnessione: -o reconnect aiuta su connessioni instabili.
- Permessi: se vedi problemi di UID/GID, usa -o uid=1000,gid=1000 o mappe di utenti.
Sicurezza e permessi
- Usa chiavi SSH con passphrase e un agent oppure IdentityFile con adeguato controllo d’accesso.
- Evita password in chiaro in script o fstab.
- Abilita solo gli utenti necessari in /etc/ssh/sshd_config (AllowUsers).
- Valuta l’uso di VPN se esponi SSH su Internet.
- Considera alternativamente SFTP-only chroot come opzione più restrittiva.
Quando non usare SSHFS
- Non è adatto per database o applicazioni che richiedono FS a bassa latenza.
- Non è la scelta migliore per grandi cluster con alto throughput I/O.
- In presenza di reti instabili ad alta latenza può degradare l’esperienza utente.
Checklist rapida
Amministratore:
- Installare fuse-sshfs o compilare da sorgente.
- Configurare chiavi SSH e permessi di file.
- Testare montaggio manuale e smontaggio.
- Configurare systemd o /etc/fstab per montaggi persistenti.
- Documentare rollback (fusermount -u, kill processi bloccanti).
Utente finale:
- Verificare permessi di lettura/scrittura.
- Non inserire password in script.
- Segnalare problemi di latenza o lock di file all’amministratore.
Esempi rapidi
Montare con chiave specifica e porta:
sshfs -o IdentityFile=/home/utente/.ssh/id_rsa -p 2200 [email protected]:/progetto /home/utente/progetto-remoto
Smontare forzatamente:
sudo fusermount -uz /home/utente/progetto-remoto
Modello decisionale (Mermaid)
flowchart TD
A[Devo accedere a file remoti?] --> B{File ad alto I/O o DB?}
B -- Sì --> C[NFS/Samba/Storage dedicato]
B -- No --> D{Connessione sicura richiesta?}
D -- Sì --> E[SSHFS o SFTP]
D -- No --> F[VPN + NFS o Samba]
E --> G[Usa SSHFS per accesso semplice e protetto]
Domande frequenti
Q: SSHFS è sicuro per uso su Internet? A: Sì se usi chiavi SSH, porte non standard e firewall/VPN; altrimenti limita l’accesso o usa metodi alternativi.
Q: Posso montare con utenti non-root? A: Sì: l’opzione user in fstab o allow_other e la configurazione di /etc/fuse.conf permettono montaggi senza root.
Q: Come risolvo file bloccati dopo disconnessione? A: Usa fusermount -u o fusermount -uz; in casi estremi riavviare i processi che tengono il mount.
Riepilogo
SSHFS è semplice da installare e comodo per montaggi veloci e sicuri tramite SSH. È ottimo per accesso remoto a file ma non sostituisce file system progettati per carichi I/O intensivi. Segui le best practice di sicurezza: chiavi SSH, limitazione utenti e montaggi persistenti gestiti tramite systemd o fstab.
Importante: testa sempre il flusso di smontaggio e il comportamento al riavvio prima di affidare dati critici a un montaggio SSHFS.
Materiali simili

Mantenere icone e puntatore Windows quando cambi tema

Discord bloccato su aggiornamenti in Windows 11

Errore no boot device found: cause e soluzioni

Apple Pay disabilitato su Mac: come risolvere

Due numeri WhatsApp sullo stesso smartphone
