Ricerca nel sito web

Come montare file system o directory Linux remoti utilizzando SSHFS su SSH


Lo scopo principale di questo articolo è fornire una guida passo passo su come montare il file system Linux remoto utilizzando il client SSHFS su SSH.

Questo articolo è utile per quegli utenti e amministratori di sistema che desiderano montare file system remoti sui propri sistemi locali per qualsiasi scopo. Abbiamo effettuato un test pratico installando il client SSHFS su uno dei nostri sistemi Linux e montando con successo file system remoti.

Prima di procedere con l'installazione, comprendiamo SSHFS e come funziona.

Cos'è SSHFS?

SSHFS sta per client (Secure SHell FileSystem) che ci consente di montare file system remoti e interagire con directory e file remoti su un computer locale utilizzando SSH Protocollo di trasferimento file (SFTP).

Lettura consigliata: 10 esempi di comandi sFTP per trasferire file su server remoti in Linux

SFTP è un protocollo di trasferimento file sicuro che fornisce funzionalità di accesso, trasferimento e gestione dei file tramite il protocollo Secure Shell. Perché SSH utilizza la crittografia durante il trasferimento di file in rete da un computer a un altro e SSHFS è dotato di FUSE integrato (Filesystem in Userspace) modulo del kernel che consente a qualsiasi utente non privilegiato di creare il proprio file system senza modificare il codice del kernel.

In questo articolo, ti mostreremo come installare e utilizzare il client SSHFS su qualsiasi distribuzione Linux per montare file system o directory Linux remoti su una macchina Linux locale.

Passaggio 1: installare il client SSHFS nei sistemi Linux

Per impostazione predefinita, i pacchetti sshfs non esistono su tutte le principali distribuzioni Linux, è necessario abilitare il repository epel sui propri sistemi Linux per installare sshfs con l'aiuto del comando Yum con le relative dipendenze.

yum install sshfs
dnf install sshfs              [On Fedora 22+ releases]
sudo apt-get install sshfs     [On Debian/Ubuntu based systems]

Passaggio 2: creazione della directory di montaggio SSHFS

Una volta installato il pacchetto sshfs, devi creare una directory del punto di montaggio in cui monterai il tuo file system remoto. Ad esempio, abbiamo creato la directory di montaggio in /mnt/tecmint.

mkdir /mnt/tecmint
sudo mkdir /mnt/tecmint     [On Debian/Ubuntu based systems]

Passaggio 3: montaggio del file system remoto con SSHFS

Dopo aver creato la directory del punto di montaggio, ora esegui il seguente comando come utente root per montare il file system remoto in /mnt/tecmint . Nel tuo caso la directory di montaggio sarebbe qualsiasi cosa.

Il seguente comando monterà la directory remota chiamata /home/tecmint in /mnt/tecmint nel sistema locale. (Non dimenticare di sostituire x.x.x.x con il tuo indirizzo IP e il punto di montaggio).


sshfs [email :/home/tecmint/ /mnt/tecmint
sudo sshfs -o allow_other [email :/home/tecmint/ /mnt/tecmint     [On Debian/Ubuntu based systems]

Se il tuo server Linux è configurato con l'autorizzazione basata su chiave SSH, dovrai specificare il percorso delle tue chiavi pubbliche come mostrato nel comando seguente.


sshfs -o IdentityFile=~/.ssh/id_rsa [email :/home/tecmint/ /mnt/tecmint
sudo sshfs -o allow_other,IdentityFile=~/.ssh/id_rsa [email :/home/tecmint/ /mnt/tecmint     [On Debian/Ubuntu based systems]

Passaggio 4: verificare che il file system remoto sia montato

Se hai eseguito il comando precedente con successo senza errori, vedrai l'elenco dei file e delle directory remoti montati in /mnt/tecmint.

cd /mnt/tecmint
ls
[root@ tecmint]# ls
12345.jpg                       ffmpeg-php-0.6.0.tbz2                Linux                                           news-closeup.xsl     s3.jpg
cmslogs                         gmd-latest.sql.tar.bz2               Malware                                         newsletter1.html     sshdallow
epel-release-6-5.noarch.rpm     json-1.2.1                           movies_list.php                                 pollbeta.sql
ffmpeg-php-0.6.0                json-1.2.1.tgz                       my_next_artical_v2.php                          pollbeta.tar.bz2

Passaggio 5: controllo del punto di montaggio con il comando df -hT

Se esegui il comando df -hT vedrai il punto di montaggio del file system remoto.

df -hT
Uscita del campione
Filesystem                          Type        Size  Used Avail Use% Mounted on
udev                                devtmpfs    730M     0  730M   0% /dev
tmpfs                               tmpfs       150M  4.9M  145M   4% /run
/dev/sda1                           ext4         31G  5.5G   24G  19% /
tmpfs                               tmpfs       749M  216K  748M   1% /dev/shm
tmpfs                               tmpfs       5.0M  4.0K  5.0M   1% /run/lock
tmpfs                               tmpfs       749M     0  749M   0% /sys/fs/cgroup
tmpfs                               tmpfs       150M   44K  150M   1% /run/user/1000
[email :/home/tecmint fuse.sshfs  324G   55G  253G  18% /mnt/tecmint

Lettura consigliata: 12 comandi "df" utili per controllare lo spazio su disco in Linux

Passaggio 6: montaggio permanente del file system remoto

Per montare il filesystem remoto in modo permanente, è necessario modificare il file chiamato /etc/fstab. Per farlo, apri il file con il tuo editor preferito.

vi /etc/fstab
sudo vi /etc/fstab     [On Debian/Ubuntu based systems]         

Vai alla fine del file e aggiungi la seguente riga, salva il file ed esci. La voce seguente monta il file system del server remoto con le impostazioni predefinite.


sshfs#[email :/home/tecmint/ /mnt/tecmint fuse.sshfs defaults 0 0

Assicurati di aver attivato l'accesso senza password SSH tra i server per montare automaticamente il file system durante i riavvii del sistema.

Se il tuo server è configurato con l'autorizzazione basata su chiave SSH, aggiungi questa riga:


sshfs#[email :/home/tecmint/ /mnt/tecmint fuse.sshfs IdentityFile=~/.ssh/id_rsa defaults 0 0

Successivamente, è necessario aggiornare il file fstab per riflettere le modifiche.

mount -a
sudo mount -a   [On Debian/Ubuntu based systems]

Passaggio 7: smontare il file system remoto

Per smontare il file system remoto, esegui il comando seguente per smontare il file system remoto.

umount /mnt/tecmint

Per ora è tutto, se riscontri difficoltà o hai bisogno di aiuto nel montaggio del file system remoto, contattaci tramite commenti e se ritieni che questo articolo sia molto utile, condividilo con i tuoi amici.