Guida alle tecnologie

Installare e usare SSHFS su CentOS

5 min read Guide Linux Aggiornato 20 Oct 2025
SSHFS su CentOS: installazione e uso
SSHFS su CentOS: installazione e uso

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

Schermata: comando 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

Schermata: download sorgente SSHFS

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:

  1. 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.
  1. 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.

Autore
Redazione

Materiali simili

Mantenere icone e puntatore Windows quando cambi tema
Windows

Mantenere icone e puntatore Windows quando cambi tema

Discord bloccato su aggiornamenti in Windows 11
Windows

Discord bloccato su aggiornamenti in Windows 11

Errore no boot device found: cause e soluzioni
Supporto tecnico

Errore no boot device found: cause e soluzioni

Apple Pay disabilitato su Mac: come risolvere
macOS

Apple Pay disabilitato su Mac: come risolvere

Due numeri WhatsApp sullo stesso smartphone
WhatsApp

Due numeri WhatsApp sullo stesso smartphone

Errore app non avviata in tempo su Windows — Soluzioni
Windows

Errore app non avviata in tempo su Windows — Soluzioni