Deprecated: Assigning the return value of new by reference is deprecated in /home/mhd-01/www.multimediazone.net/htdocs/wp-includes/cache.php on line 36

Deprecated: Assigning the return value of new by reference is deprecated in /home/mhd-01/www.multimediazone.net/htdocs/wp-includes/query.php on line 21

Deprecated: Assigning the return value of new by reference is deprecated in /home/mhd-01/www.multimediazone.net/htdocs/wp-includes/theme.php on line 508
Accedere facilmente a dati remoti con SSHFS « MultimediaZone

Accedere facilmente a dati remoti con SSHFS


Continua la saga su SSH: dopo aver mostrato come si possa fare a meno della password, oggi mostrerò qualcosa di più concreto e, se possibile, ancora più affascinante.

Chi di voi usa frequentemente dati condivisi su reti locali sa cosa vuol dire accedere a dati remoti: ogni volta bisogna effettuare la connessione, digitare la password, utilizzare strumenti ad-hoc (per l’FTP, ad esempio); la sensazione è quella di una “precarietà” della connessione. SSHFS è un filesystem per Linux che pone rimedio a tutto questo permettendoci di accedere ai nostri dati remoti come se si trovassero sul nostro disco, sfruttando le grandi potenzilità del filesystem UNIX1.

Una volta installato sshfs, montare un filesystem è davvero semplice, basta lanciare (da root o usando sudo):

sshfs utente@macchina /mount/point/

Automatizzare questo comando presenta tuttavia un problema: non sempre la macchina richiesta è accesa! Questo inconveniente può essere aggirato in modo piuttosto efficace utilizzando questo semplice script che controlla se la macchina è raggiungibile e in tal caso apre il nostro file manager mostrandoci i suoi dati (puoi anche scaricarlo)

#!/bin/bash
MACCHINA='ontheroad'
UTENTE='davide'
MOUNTPOINT="/media/$USER/$MACCHINA/"
#Per selezionare il vostro file manager preferito, decommentate
#(eliminando il # a inizio riga) la riga piu' opportuna
#FILE_MANAGER='dolphin'  #per chi usa kde, soprattutto kubuntu
#FILE_MANAGER='nautilus'   #per chi usa gnome, per esempio ubuntu
FILE_MANAGER='kfmclient openURL'    #per chi usa kde ma preferisce konqueror a dolphin

#Scegliete in modo analogo il vostro visualizzatore di dialog
DIALOG='kdialog --sorry' #per chi usa kde
#DIALOG='zenity --warning --text' #per chiunque, soprattutto gnome

if [ ! -e $MOUNTPOINT/home ]
then
  sshfs $USER@$MACCHINA:/ $MOUNTPOINT -o transform_symlinks 
          -o idmap=user -o RSAAuthentication=no
fi

if [ ! -e $MOUNTPOINT/home ]
then
  $DIALOG "Errore nella connessione.nVerificare che entrambi i pc
       siano connessi alla rete e riprovare" --title "home@$MACCHINA"
else
  $FILE_MANAGER $MOUNTPOINT/home/$UTENTE
fi

Naturalmente sarà opportuno decommentare una delle righe FILE_MANAGER, e una delle righe DIALOG. Ovviamente potete impostare queste opzioni ai valori che preferite, io ho inserito i piu’ diffusi. Il mio consiglio è di salvare questo script all’interno della vostra home directory, ad esempio in una directory bin. Va poi reso eseguibile con:

chmod 700 ~/bin/nome_file

Dobbiamo ora predisporre un punto di mount. Il mio consiglio è quello di creare, all’interno della directory media, una directory per ogni utente2. Questo operazione va effettuata da root (o usando sudo) con i seguenti comandi:

mkdir /media/utente
chown utente /media/utente

A questo punto digitiamo, da utente, questo comando:

mkdir /media/utente/macchina

Il lavoro è quasi ultimato. Dobbiamo creare sul nostro desktop un’icona che esegua il comando “~/bin/nome_file”. Cliccando su di essa, si aprirà il nostro file manager preferito, mostrando i contenuti della directory remota. Se invece il computer remoto non è raggiungibile, verrà mostrato un messaggio di errore.
NB: questo script è configurato per macchine su cui non abbiamo bisogno di immettere la password per autenticarci (come spiegato nell’articolo precedente, ad esempio, oppure in un sistema in cui non è richiesta nessuna autenticazione); purtroppo al momento non sono riuscito a trovare una soluzione semplice per l’autenticazione con password

Approfondimenti

  • SSHFS è un filesystem FUSE (Filesystem in User-Space Extension). Ciò vuol dire che il driver “gira” in userspace, dando maggiore flessibilità e sicurezza al sistema. Questa tecnologia permette di creare filesystem anche “fantasiosi” come si può vedere in questo elenco.
  • Questo è particolarmente utile se facciamo spesso uso di FUSE. Uno dei grandi vantaggi di fuse, infatti, è che tutte le operazioni possono essere svolte da utente invece che da root; in questo modo anche la creazione di mountpoint sarà sempre sotto il nostro controllo!

Articoli correlati

L’argomento è stato trattato in questi post:

Technorati Tags: , , , , , , ,

Lascia un commento

Nome: (Richiesto)

E-mail: (Richiesta)

Sito:

Commento:

RSS

rss Feed degli articoli

Licenza

Creative Commons License  
Questo/a opera è pubblicato sotto una Licenza Creative Commons.

Altro

Add to Technorati Favorites
BlogItalia.it - La directory italiana dei blog
Powered by WordPress - WordPress Blogs Directory 
 

Appuntamenti settimanali