Come montare directory remote in Linux con SSHFS

Non c’è sicuramente carenza di soluzioni quando si tratta di sincronizzare file tra due dispositivi. Anche se Google Drive e Microsoft OneDrive potrebbero non offrirti client ufficiali per Linux, NextCloud e altri lo fanno. Ma forse non ti fidi di una grande azienda per memorizzare i tuoi file. Oppure, forse, desideri più sicurezza di quella offerta da NextCloud. Con tutti i componenti che entrano nella costruzione di qualcosa come NextCloud, è probabile che abbia più falle di sicurezza non scoperte rispetto a soluzioni più semplici.
Perché usare SSHFS?
Dal punto di vista dell’utente finale, è molto facile da usare, pulito e semplice. È anche incredibilmente sicuro poiché si basa sul server OpenSSH collaudato e comprovato. La crittografia è anche di alto livello, quindi puoi stare tranquillo che nessuno può rubare i tuoi file mentre sono in transito. Un server correttamente configurato e aggiornato che ascolta solo le connessioni SSH è solitamente impossibile da violare per tutti tranne i più abili attaccanti (pensa a NSA, specialisti della sicurezza, ecc.). E probabilmente non vogliono i tuoi file.
Perché non vorresti usare SSHFS
Se desideri la migliore velocità di trasferimento possibile, potresti voler utilizzare altre soluzioni come NFS. SSHFS non è il più lento se la tua connessione Internet è di alta qualità, ma non è nemmeno il più veloce. E se desideri trasferire directory che contengono centinaia di file piccoli, diventa orribile. Inoltre, se desideri ottimizzare le impostazioni di condivisione dei file, in base a singoli utenti o altri fattori, potresti voler utilizzare altro software.
Per riassumere, se tutto ciò di cui hai bisogno è un modo facile e sicuro per sincronizzare una directory remota con una locale e non hai fretta, probabilmente sarai soddisfatto di questa soluzione.
Installa SSHFS
Su installazioni basate su Arch Linux, usa questo comando:
sudo pacman -Ssshfs
Se sei su una distribuzione basata su Fedora, usa:
sudo dnf installsshfs
Su Debian, Ubuntu e famiglie, usa:
sudo apt installsshfs
Per coloro che utilizzano OpenSUSE, inserisci questo comando:
sudo zypper installsshfs
Configurazione del server
Se affitti un server o un VPS, il demone del server OpenSSH è già configurato. Segui i passaggi raccomandati dal tuo fornitore di servizi cloud per configurare un utente normale (non root). Alcuni ti consentono di farlo direttamente dal loro pannello di controllo web e ti permettono persino di importare la chiave pubblica per consentire l’accesso SSH. In questo caso, genera le coppie di chiavi localmente, con il comando ssh-keygen. Dopo, importa la chiave pubblica da “/home/your_username/.ssh/id_rsa.pub.”
Se il fornitore cloud non offre uno strumento per importare facilmente le chiavi pubbliche SSH, fallo manualmente. Almeno, disabilita il login come root e disabilita i login con password. Usa esclusivamente le chiavi SSH: sono impossibili da forzare, come nel caso delle password.
Se desideri sincronizzare file tra due computer a casa, tratta uno come server (installa il pacchetto openssh-server e configura) e l’altro come client. Gli stessi passaggi si applicano.
Monta una directory remota localmente con SSHFS
Per prima cosa, crea una directory che sarà sincronizzata con il lato remoto.
mkdir$HOME/sshfs
Successivamente, monta la directory remota localmente tramite SSHFS. Sostituisci “user” con il nome utente effettivo creato sul tuo server e “203.0.113.1” con l’indirizzo IP effettivo della tua istanza remota.
sshfs [email protected]:/home/user $HOME/sshfs
Naturalmente, se non vuoi sincronizzare l’intera home directory dell’utente sul lato server, basta sostituire “/home/user” con “/home/user/some_other_directory” dopo averla creata sul server.
Quando vuoi smontare, usa questo comando:
cd&& fusermount -u$HOME/sshfs
Conclusione
Se desideri che una directory si sincronizzi permanentemente con il lato remoto, aggiungi un comando come sshfs [email protected]:/home/user $HOME/sshfs nel tuo gestore di avvio automatico. Ogni gestore grafico ha un diverso gestore di configurazione dell’avvio automatico, quindi consulta i manuali di aiuto del tuo ambiente desktop. Alcune fonti raccomandano di aggiungere un’entrata in “/etc/fstab”, ma ti consigliamo di evitarlo, poiché il fallimento nel montare la directory potrebbe comportare il fallimento completo dell’avvio del sistema.
Speriamo che questo copra tutte le tue esigenze. Ma, se non lo fa, puoi leggere di più opzioni da riga di comando nel manuale online di SSHFS.