SSHFS: montare una risorsa remota sfruttando FUSE ed SSH

Da Guide@Debianizzati.Org.
Versione del 30 mar 2006 alle 11:11 di MaXeR (discussione | contributi) (primo inserimento)
(diff) ← Versione meno recente | Versione attuale (diff) | Versione più recente → (diff)
Vai alla navigazione Vai alla ricerca

Introduzione

Spesso può essere necessario lavorare direttamente su un filesystem remoto (si pensi, ad esempio, alla webroot di un sito, alla home del proprio portatile, ...).

sshfs permette di superare questo problema in un modo semplice e pulito: montando una directory tramite il protocollo ssh.

Installazione

Il pacchetto sshfs è già presente in Debian, quindi l'installazione si riduce ad un semplice

# apt-get install sshfs

Configurazione

Creazione del punto di mount

Prima di tutto è necessario creare un punto di mount in cui montare la risorsa di rete (ovviamente ognuno è liberissimo di utilizzare la directory che vuole):

# mkdir /mnt/sshdir

è necessario, inoltre, impostare l'utente che utilizzerà questa directory come owner:

# chown username /mnt/sshdir

Permessi utenti

È possibile permettere l'utilizzo di sshfs anche agli utenti normali, seguendo i seguenti passaggi:

# chgrp fuse /usr/bin/fusermount
# adduser nomeutente fuse

in questo modo permettiamo l'utilizzo del comando fusermount agli utenti appartenenti al gruppo fuse, e aggiungiamo l'utente che utilizzerà sshfs al gruppo fuse.

Per rendere effettiva l'aggiunta al gruppo è necessario effettuare un logout-login.

Utilizzo e Test

L'utilizzo è semplice:

# sshfs user@host:/dir/to/mount /mnt/sshdir

dove

user
è l'utente della macchine remota (se omesso verrà utilizzato l'username dell'utente che lancia il comando (root, in questo caso)
host
è l'indirizzo ip o l'url a cui la macchina remota risponde
/dir/to/mount
è il percorso assoluto della directory da montare... (è possibile anche utilizzare un percordo relativo a partire dalla directory home dell'utente: ./path/to/dir)
/mnt/sshdir
rappresenta il punto di mount

per controllare la riuscita del comando, si può analizzare l'output del comando

$ mount

Faq ed Errori Frequenti

fusermount: failed to open /dev/fuse: No such file or directory

L'errore è dovuto alla mancanza del modulo del kernel relativo a fusefs. È necessario compilarlo come modulo o staticamente (nei kernel pacchettizzati Debian è presente, ed è caricabile con un

# modprobe fuse