A volte devi solo copiare alcuni file tra due computer, puoi farlo con scp, sftp o rsync. Ma alcune di quelle volte devi anche navigare nelle cartelle remote e queste tre opzioni sono troppo ingombranti. Una soluzione rapida e sporca è montare una cartella remota con sshfs.
Potresti esportare quella cartella con NFS, Samba o qualche altro filesystem di rete, ma dovrai occuparti di file di configurazione, firewall,... Ma sicuramente hai già un accesso ssh al tuo sistema remoto. Se non lo fai, non dovresti essere qui.. Penso xD
Installa il pacchetto richiesto
Presumo che su Origin (il "server") tu abbia già un accesso ssh in esecuzione. Sulla destinazione (il 'client') devi installare un programma chiamato sshfs.
Binari
Sui derivati debian (ubuntu, mint, devuan), esegui:
sudo apt-get install sshfs
Su centos, fedora e altre distribuzioni che lavorano con yum:
sudo yum install sshfs
Compilazione
Su Gentoo Linux eseguito:
emerge -av net-fs/sshfs
Su FreeBSD installa la porta con:
# cd /usr/ports/sysutils/fusefs-sshfs/ # make install clean
Download e compilazione manuali
Vai su https://github.com/libfuse/sshfs per scaricare e segui le istruzioni sul readme.
Monta una cartella remota con sshfs
Con l'eseguibile sshfs, montare qualsiasi cartella remota è facile come eseguire:
sshfs user@host:/path/to/remote/folder /path/to/mountpoint/
Digitare le password è noioso...
Lo so, ma sfortunatamente sshfs non include -i
passare per caricare un file di chiave privata. Fortunatamente sshfs include -o
passa a chiamare la maggior parte (se non tutte) delle opzioni ssh.
L'opzione di cui abbiamo bisogno è IdentityFile
. Dai un'occhiata al mio screenshot, per qualche motivo non ho usato il nome standard id_rsa/id_rsa.pub quando ho generato le mie chiavi. Non ricordo questo motivo.
Rendere permanente
Questo durerà fino al riavvio del sistema. Per renderlo permanente devi aggiungere al tuo /etc/fstab la seguente riga:
user@host:/path/to/remote/ /path/to/mountpoint fuse.sshfs defaults 0 0
Alternative a sshfs
Puoi fare lo stesso, ma il sistema remoto non sarebbe disponibile a livello di sistema (ad esempio, apache non potrebbe utilizzare una cartella remota) con mc, il comando di mezzanotte, premendo F9 e scegliendo Sftp link:
Al prompt scrivere l'indirizzo remoto seguendo questo formato sftp://[user@]machine:[port]/[remote-dir]
, quindi scrivi la tua password e sei dentro.
Sul lato desktop grafico, diversi file manager lo supportano. Non ho usato quelli grandi (come gnome, kde, ecc.) per molto tempo, non conosco più nemmeno i nomi dei programmi, ma so che supportano ssh. Questo è pcmanFm di LXDE, usa un indirizzo nello stesso formato del comandante mezzanotte, ad esempio:
Non conosco il nome del pacchetto che fa questa magia, ma se stai usando linux in un desktop probabilmente lo hai già installato.