Pagine

23 febbraio 2008

Come montare locale una risorsa SSH

Il titolo mi sembra gia' abbastanza esplicativo. A me capita molto di frequente di dover accedere dal mio laptop, che molto spesso uso solo come un terminale, a file che sono invece immagazzinati su macchine esterne che offrono accesso solo via SSH. Se anche per voi questa e' una situazione abbastanza tipica, vi consiglio di seguire i semplici passi riportati in questo HowTo e vi ritroverete con la risorsa esterna a cui accedete via SSH comodamente montata sul vostro computer.

Meglio capire prima di fare!

Tutto questo e' reso possibile da FUSE, ovvero uno strumento che permette di creare un filesystem in userspace anziche' in kernel space. Cerco di spiegarlo in modo piu' semplice. FUSE e' composto da due parti, un modulo che risiede nel kernel e una libreria che invece sta nello spazio utente. I due mondi si parlano attraverso un file descriptor, cioe' un dispositivo del tutto virtuale, che si chiama /dev/fuse. Uno sviluppatore puo' cosi' scrivere un'interfaccia tra un suo filesystem, qualunque esso sia, e libfuse. In questo modo FUSE fara' il lavoro sporco di rendere comprensibile al kernel il nuovo filesystem mentre al programmatore non resta che usarlo.

E' talmente facile che il numero di questi filesystem definiti dall'utente sta crescendo molto rapidamente: oltre a sshfs, di cui parliamo in questo post, interessante e' anche GmailFS che ti permette di montare locale la tua casella di posta GMail rendendola di fatto un disco di rete, e anche BloggerFS che permette agli utenti Blogger di manipolare i loro posts come se fossero file nel loro computer.

Cosa serve per farlo?

Certamente serve aver FUSE installato nella propria linux box, e poi serve il programma sshfs che altro non e' che il semplice programmino che interfaccia SSH a libfuse rendendo una risorsa remota accessibile via SSH montabile nel proprio computer.

Se state usando Fedora, allora verosimilmente FUSE e' gia' installato e per installare sshfs dovete semplicemente digitare (come root) il seguente comando

yum install fuse-sshfs

Al solito yum si occupera' di risolvere tutte le necessarie dipendenze e di installare eventuali pacchetti mancanti. Ricordatevi di digitare "y" quando yum vi chiedera' conferma dell'installazione.

Potrebbe essere necessario aggiungere il vostro utente al gruppo fuse, in modo da ottenere i diritti necessari per accedere in lettura e scrittura al dispositivo /dev/fuse. Per far questo o modificate a mano il file /etc/group oppure lo potete fare usando lo strumento grafico system-config-users.

Come montare una risorsa SSH?

Finalmente siamo pronti a montare la nostra prima risorsa SSH. Come prima cosa prepariamo un mounting point. Per esempio creiamo una cartella nella vostra home directory usando il comando:

mkdir ~/test-folder

e adesso montiamoci sopra la risorsa di rete

sshfs 192.168.0.1:/data ~/test-folder

dove ovviamente 192.168.0.1 e' l'indirizzo del server e /data e' la cartella sul server che noi vogliamo montare localmente. L'ultimo argomento del comando e' il mounting point che abbiamo appena creato.
Non appena premerete invio vi verra' chiesta la vostra password, una e una sola volta, dopo di che potete entrare in test-folder e scoprire che vi trovate gia' sul server! Molto comodo vero?

Quando non vi serve piu' potete smontare la risorsa di rete usando il comando:

fusermount -u ~/test-folder

In caso volete saperne di piu' vi consiglio di leggervi le domande frequenti di sshfs che trovate a questo indirizzo.

Buon linux a tutti!

Chiunque può lasciare commenti su questo blog, ammesso che vengano rispettate due regole fondamentali: la buona educazione e il rispetto per gli altri.

Per commentare potete utilizzare diversi modi di autenticazione, da Google a Facebook e Twitter se non volete farvi un account su Disqus che resta sempre la nostra scelta consigliata.

Potete utilizzare tag HTML <b>, <i> e <a> per mettere in grassetto, in corsivo il testo ed inserire link ipertestuali come spiegato in questo tutorial. Per aggiungere un'immagine potete trascinarla dal vostro pc sopra lo spazio commenti.

A questo indirizzo trovate indicazioni su come ricevere notifiche via email sui nuovi commenti pubblicati.

1 commento:

  1. Noi per lavoro usiamo praticamente solo NFS (che credo stia per Network FileSystem) che e' installato di default su linux e anche su Mac OS X. Naturalmente la macchina che "esporta" deve avere un server nfs running (demone nfsd)

    RispondiElimina

Chiunque può lasciare commenti su questo blog, ammesso che vengano rispettate due regole fondamentali: la buona educazione e il rispetto per gli altri.

Per commentare potete utilizzare diversi modi di autenticazione, da Google a Facebook e Twitter se non volete farvi un account su Disqus che resta sempre la nostra scelta consigliata.

Potete utilizzare tag HTML <b>, <i> e <a> per mettere in grassetto, in corsivo il testo ed inserire link ipertestuali come spiegato in questo tutorial. Per aggiungere un'immagine potete trascinarla dal vostro pc sopra lo spazio commenti.

A questo indirizzo trovate indicazioni su come ricevere notifiche via email sui nuovi commenti pubblicati.