Lavorare su filesystem remoti con shfs
Ci sono delle cose che non riesci a capire quanto sono comode sino a che non le provi.
Questo è stato il mio approccio con shfs, del quale mi sono chiesto la sua utilità sino a che non ho montato una direcory remota passando tramite ssh e iniziandola ad utilizzare come se fosse locale con qualsiasi tipo di programma.
Una soluzione un po’ strana da tentere presente quando le vpn non sono praticabili e l’unica porta lasciata aperta è la 22.
Essendo shfs un modulo del kernel prima di poterlo utilizzare va compilato.
Facendo il mio solito mix del materiale trovato con S. Google vi propongo questa “ricetta“.
Premessa:
La “vittima” degli esperimenti è ( come al solito ) una debian sarge al quale sono loggato come root
Scarichiamo i sorgenti e le utility correlate
# apt-get install shfs-source shfs-utils
apt probabilmente vi installera anche una serie di altri pacchetti, tutto normale … non preoccupatevi.
Dovendo compilare il modulo mi scarico anche i kernel headers
( nel vostro caso probabilmente saranno diversi … )
# apt-get install kernel-headers-2.6.8-2-386
Attenzione … , se non sappiamo quale versione del kernel state usando lanciate
# uname -a
Procediamo con la compilazione
# cd /usr/src
# tar xvjf shfs.tar.bz2
# rm -f shfs.tar.bz2
# cd modules/shfs
# make && make install
se è andato tutto liscio possiamo installarlo …
# module-assistant prepare
# module-assistant build shfs
# module-assistant install shfs
Proviamo a caricare il modulo
# modprobe shfs
Creo la directory sulla macchina locale nella quale verrà montato il fs remoto
# mkdir /mnt/ssh
E adesso ( rullo di tamburi ) proviamo a montare in locale la nostra home remota
( NomeUtente e IpRemoto individate cosa sono )
# shfsmount NomeUtente@IpRemoto:/home/NomeUtente /mnt/ssh
se non usate l’autenticazione con chiavi vi verrà ancora chiesta la password per accede al sistema remoto
Ok …
Andiamo a vedere se tutto è andato bene
mount
dove aver visto tra output di mount il nostro nuovo fs andiamo a curiosare spostandoci dentro la cartella che abbiamo creato in precedenza
# cd /mnt/ssh
# ls -alt
.. spero che come me vediate il contenuto della direcotory remota
Una volta finito il nostro lavoro possiamo smontare il tutto con ..
# shfsumount /mnt/ssh
Riferimenti: