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 [[email protected]]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\[email protected][\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