Introduzione
SSHFS (SSH Filesystem) è un client di filesystem basato su FUSE per il montaggio di directory remote su una connessione SSH. SSHFS sta usando il protocollo SFTP, che è un sottosistema di SSH ed è abilitato per impostazione predefinita sulla maggior parte dei server SSH.
Rispetto ad altri protocolli di file system di rete come NFS e Samba, il vantaggio di SSHFS è che non richiede alcuna configurazione aggiuntiva sul lato server. Per utilizzare SSHFS è necessario solo l'accesso SSH al server remoto.
Poiché SSHFS utilizza SFTP, tutti i dati trasmessi tra il server e il client devono essere crittografati e decrittografati. Ciò si traduce in prestazioni leggermente inferiori rispetto a NFS e un maggiore utilizzo della CPU sul client e sul server.
Questo tutorial ti mostrerà come installare il client SSHFS su Linux, macOS e Windows e come montare una directory remota.
Installare SSHFS
I pacchetti SSHFS sono disponibili per tutti i principali sistemi operativi e l'installazione è piuttosto semplice.
Installare SSHFS su Ubuntu e Debian
SSHFS è disponibile dai repository Ubuntu e Debian predefiniti. Aggiorna l'indice dei pacchetti e installa il client sshfs digitando:
sudo apt update
sudo apt install sshfs
Installare SSHFS su CentOS
Su CentOS e altri derivati Red Hat eseguire i seguenti comandi per installare sshfs.
Aggiungere il repository ELP:
sudo yum install epel-release
Installare SSHFS:
sudo yum install sshfs
Installare SSHFS su macOS
Gli utenti macOS possono installare il client SSHFS scaricando i pacchetti FUSE e SSHFS dal sito osxfuse o tramite Homebrew:
brew cask install osxfuse
brew install sshfs
Installare SSHFS su Windows
Gli utenti Windows devono installare due pacchetti, WinFsp e SSHFS-Win.
Montare file system remoto
Le seguenti istruzioni sono applicabili a tutte le distribuzioni Linux e macOS.
Per montare una directory remota, l'utente SSH deve essere in grado di accedervi. Il comando mount SSHFS ha la forma seguente:
sshfs [user@]host:[remote_directory] mountpoint [options]
Il comando sshfs leggerà il file di configurazione SSH e lo utilizzerà per le impostazioni dell'host. Se la directory remota non viene specificata, per impostazione predefinita è la home directory dell'utente remoto.
Ad esempio, per montare la directory home di un utente chiamato "alice" su un host remoto con indirizzo IP "192.168.222.222", creare prima una directory che fungerà da punto di montaggio, può essere qualsiasi posizione desiderata:
mkdir ~/aliceremote
Quindi utilizzare il comando sshfs per montare la directory remota:
sshfs [email protected]:/home/alice /home/alice/aliceremote
Ti verrà richiesto di inserire la password dell'utente. Per evitare di digitare la password ogni volta che si monta la directory remota, generare le chiavi SSH e configurare l'accesso SSH senza password.
Ora puoi interagire con le directory e i file che si trovano su un server remoto allo stesso modo dei file locali. Ad esempio, è possibile modificare, eliminare, rinominare o creare nuovi file e directory.
Se si desidera montare in modo permanente la directory remota, è necessario modificare il file /etc/fstab
del computer locale e aggiungere una nuova voce di montaggio. In questo modo all'avvio del sistema verrà montata automaticamente la directory remota.
Per montare una directory remota su SSHFS da /etc/fstab
, usare fuse.sshfs
come tipo di filesystem.
Quando si crea un montaggio permanente, assicurarsi di poter connettere l'host remoto utilizzando l'autenticazione basata su chiave SSH.
Montare file system remoto su Windows
Gli utenti Windows possono utilizzare Esplora risorse per mappare un'unità di rete sulla directory remota sul server SSH.
Apri Esplora risorse, fai clic con il tasto destro su "Questo PC" e seleziona "Mappa unità di rete". Scegli un'unità da montare e nel campo "Cartella" inserisci l'utente remoto, il server e il percorso nel seguente formato:
\\sshfs\user@host[\PATH]
Al momento della stesura di questo articolo SSHFS-Win non supporta l' autenticazione basata su chiave, quindi il server SSH remoto deve essere configurato per accettare l'autenticazione basata su password.
Per informazioni più dettagliate consultare il manuale di SSHFS-Win.
Smontare file system remoto
Per scollegare un file system montato, utilizzare il comando umount
o fusermount
seguito dalla directory in cui è stato montato (punto di montaggio):
fusermount -u /local/mountpoint
umount /local/mountpoint
Conclusione
In questa guida, hai imparato come utilizzare SSHFS per montare una directory remota su SSH. Ciò può essere utile quando si desidera interagire con i file remoti utilizzando le applicazioni del computer locale.
Per un elenco completo delle opzioni sshfs, digitare man sshfs
nel terminale:
man sshfs