Automount sshfs usando fstab senza mount -a


24

Si prega di considerare la seguente riga di fstab (interruzioni di riga per leggibilità):

sshfs#user@192.168.1.123:/home/user/ 
/home/user/Server/ 
fuse    
auto,user,_netdev,reconnect,uid=1000,gid=1000,IdentityFile=/home/user/.ssh/id_rsa,idmap=user,allow_other  
0 

Funziona bene, ma ogni riavvio che devo usare mount -aper montare il server (o fare clic sull'icona appropriata in Thunar per montare la cosa)

È possibile montare immediatamente la mia directory ssh al momento dell'avvio?

Sto usando Xubuntu 13.10

Risposte:


18

La sintassi corretta per il montaggio delle condivisioni sshfs all'avvio, nel file / etc / fstab è

 USERNAME@HOSTNAME_OR_IP:/REMOTE/DIRECTORY  /LOCAL/MOUNTPOINT  fuse.sshfs _netdev,user,idmap=user,transform_symlinks,identityfile=/home/USERNAME/.ssh/id_rsa,allow_other,default_permissions,uid=USER_ID_N,gid=USER_GID_N 0 0

Si tratta di un adattamento per non systemd distribuzioni delle istruzioni contenute qui . Se invece sei su una distribuzione systemd (Arch, Fedora, OpenSUSE, ...), l'istruzione adatta è:

USERNAME@HOSTNAME_OR_IP:/REMOTE/DIRECTORY  /LOCAL/MOUNTPOINT  fuse.sshfs x-systemd.automount,_netdev,user,idmap=user,transform_symlinks,identityfile=/home/USERNAME/.ssh/id_rsa,allow_other,default_permissions,uid=USER_ID_N,gid=USER_GID_N 0 0

Sembra quasi esattamente la stessa linea fstab della mia (tranne le autorizzazioni e l'opzione symlink) Comunque l'ho provato, e senza successo. Devo ancora eseguire mount -adopo l'avvio
user21886

È divertente, ha funzionato solo per un altro utente superuser.com/questions/666739/… . Hai verificato di essere l'utente 1000,1000 e che la tua chiave in id_rsa?
MariusMatutiae,

Sì, e funziona al 100%, ma devo eseguire mount -adopo l'avvio. Sto concedendo di aggiungere l'avvio mount -aautomatico
user21886

È possibile che ciò si verifichi prima che la rete si attivi dopo l'esecuzione del mount all'avvio. Prova ad aggiungere queste due righe in rc.local sleep 10: mount -a
MariusMatutiae

Ancora nessun successo. Perpaphs il problema è la mia configurazione: la mia rete ethernet è attiva 5-15 secondi dopo che xfce (e l'ambiente desktop) è attivo. Non so perché Ubuntu funzioni in questo modo. Il mio arco si collega prima di xfce ecc.
user21886

4

Prova a utilizzare l' opzione delay_connect .

Linea completa / etc / fstab:

USER@HOSTNAME:/REMOTE/ /LOCAL/ fuse.sshfs delay_connect,_netdev,user,idmap=user,transform_symlinks,identityfile=/home/USERNAME/.ssh/id_rsa,allow_other,default_permissions,uid=USER_ID_N,gid=USER_GID_N 0 0

2

Quelli delay_connect, _netdev... sono corretti ma non funzioneranno a meno che non modifichi la rete per apparire esattamente (o prima) in quella piccola finestra temporale, durante l'elaborazione di / etc / fstab. Quando l'elaborazione è terminata e la rete si presenta in un secondo momento, devi usare il mount -a(o gli amici).

Nella maggior parte dei casi (e anche il mio) il network-managerproblema è stato causato, poiché per impostazione predefinita la rete viene aperta dopo l'accesso . Può essere ottimizzato per visualizzarlo prima all'avvio. Se ricordo correttamente, tutto ciò che devi fare è selezionare l'opzione Available to all usersnella finestra di dialogo delle proprietà della connessione (o, se preferisci la riga di comando, crea manualmente la connessione in /etc/NetworkManager/system-connections).


0

Sulla base di questa pagina di aiuto di Ubuntu e dei miei tentativi con Debian 9, lo faccio funzionare e ho i giusti permessi sui file con questa fstabvoce:

sshfs#user@host:/remote/path /local/path fuse delay_connect,defaults,idmap=user,IdentityFile=/local/path/to/privatekey.pem,port=22,uid=1001,gid=1002,allow_other 0 0

delay_connectassicura fstabche non monti la cartella remota prima che le interfacce di rete siano attive.

È possibile modificare port, uid, gidper soddisfare le vostre esigenze locali. Per capire il mio uid/ gidio ho semplicemente usato $ idquando ho effettuato l'accesso con l'utente giusto.

allow_otherè lì per consentire ad altri utenti / gruppi di accedere alla directory montata; Anche con le giuste /local/pathautorizzazioni (ad esempio 777), questo è necessario se si desidera che un utente diverso (diverso da quello che monta l'sshfs) acceda alla directory montata.

Altre opzioni sono disponibili nella manpage di sshfs

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.