web-dev-qa-db-fra.com

Automount sshfs en utilisant fstab sans mount -a

Veuillez considérer la ligne fstab suivante (les sauts de ligne pour la lisibilité):

sshfs#[email protected]:/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 

Cela fonctionne bien, mais à chaque redémarrage, je dois utiliser mount -a pour monter le serveur (ou cliquer sur l'icône appropriée dans Thunar pour monter l'objet).

Est-il possible de monter mon répertoire ssh directement au démarrage?

J'utilise Xubuntu 13.10

23
user21886

La syntaxe correcte pour monter les partages sshfs au démarrage, dans le fichier/etc/fstab est la suivante:

 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

C'est une adaptation à non-systemd des distributions d'instructions contenues ici . Si vous utilisez plutôt une distribution systemd (Arch, Fedora, OpenSUSE, ...), l'instruction appropriée est la suivante:

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
19
MariusMatutiae

Essayez d’utiliser l’option delay_connect .

Ligne complète/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
4
DmitrySandalov

Ces delay_connect, _netdev, ... sont corrects mais ne fonctionneront que si vous ajustez la mise en réseau pour qu'elle apparaisse exactement dans (ou avant) cette petite fenêtre temporelle, lorsque le fichier/etc/fstab est en cours de traitement. Lorsque le traitement est terminé et que la mise en réseau est établie plus tard, vous devez utiliser le mount -a (ou amis).

Dans la plupart des cas (et le mien également), le network-manager a posé le problème, car il active le réseau après la connexion par défaut. Il peut être modifié pour le faire apparaître plus tôt au moment du démarrage. Si je me souviens bien, il suffit de cocher l'option Available to all users dans la boîte de dialogue des propriétés de la connexion (ou, si vous préférez, en ligne de commande, créez manuellement la connexion dans /etc/NetworkManager/system-connections).

2
SkyRaT

Sur la base de cette page d’aide ubuntu et de mes tentatives avec Debian 9, je le fais fonctionner et dispose des autorisations adéquates pour les fichiers avec cette entrée fstab:

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_connect garantit que fstab ne monte pas de dossier distant avant que les interfaces réseau ne soient actives.

Vous pouvez modifier port, uid, gid pour répondre à vos besoins locaux. Pour déterminer ma uid/gid j'ai simplement utilisé $ id lorsque je me suis connecté avec le bon utilisateur.

allow_other permet à d’autres utilisateurs/groupes d’accéder au répertoire monté; Même avec les autorisations /local/path appropriées (par exemple 777), cela est nécessaire si vous souhaitez qu'un autre utilisateur (différent de celui qui monte sshfs) puisse accéder au répertoire monté.

Vous trouverez d'autres options dans la page de manuel sshfs

0
iwalktheline