In
determinati casi ci troviamo nella condizione di dover montare una
directory remota in locale senza disporre dell'uso di samba,nfs,ftp o
simili ma del solo protocollo ssh.
Partendo dal presupposto che con linux riusciamo a montare in modo
trasparente quasi qualsiasi tipo di filesystem all'interno del nostro ed
usarlo come se fosse in locale, a tutto pensa il kernel.
Nel caso la partizione remota derivasse da un host ssh; utilizziamo ShFS
(http://shfs.sourceforge.net) che è un driver per il kernel è in formato
modulare.
Scarichiamo ShFS
cd /usr/src
wget http://switch.dl.sourceforge.net/sourceforge/shfs/shfs-0.35.tar.gz
tar zxvf shfs-0.35.tar.gz
cd shfs-0.35
make
make install
modprobe shfs
il nostro kernel che sia serie 2.4 o 2.6 ha inserito il modulo necessario
Questo programma richiede l'esistenza di ssh-askpass, una utility che il
più delle volte non è presente nelle nostre distro. per averla dobbiamo
scaricarlae compilarla:
cd /usr/src
wget http://www.jmknoble.net/software/x11-ssh-askpass/x11-ssh-askpass-1.2.4.1.tar.gz
tar zxvf x11-ssh-askpass-1.2.4.1.tar.gz
cd x11-ssh-askpass-1.2.4.1
xmkmf
make includes
make
make install
Ora avviamo il nostro modulo in questo modo partendo dal presupposto che
il tutto va eseguito da root:
#shfsmount --persistent USERSE@HOST:PATH_HOST_DIRECTORY PATH_LOCALE
spieghiamo il comando:
shfsmount è il comando per permette di montare il filesystem
--persisten è un parametro che permette di ristabilire una connessione
persa
USERS è il nostro username
host è il nome della macchina che vogliamo raggiungere
:PATH_HOST_DIRECTORY opzionale, indica da qualche punto del filesystem
remoto dobbiamo agganciarci
PATH_LOCALE dove viene montata la risorsa ssh all'interno del nostro
filesystem.
in questo modo possiamo lavorare come se fossimo in locale su una macchina
remota con la sicurezza dei dati che passano crittati attraverso ssh.
esempio pratico:
#shfsmount demone@mytux.org:/home/demone /mnt/shfs
A quersto punto ci viene richiesta una password
Password:
Se è giusta siamo dentro
non è possibile utilizzare caretteri speciali come tilda(~) o punto(.)
Smontiamo una directory
Per smontare una directory procediamo nel seguente modo:
#shfsumount PATH_LOCALE
esempio pratico:
#shfsumount /mnt/shf
|