En utilisant un boîtier NAS comme serveur de fichiers 24/7, j'aimerais utiliser sshfs pour y accéder à partir d'un bureau Ubuntu 9.04. Actuellement, j'ai cette ligne dans le fstab du bureau:
sshfs#jldugger@storage:/mnt/HD_a2/ /mnt/storage fuse comment=sshfs,auto,users,exec,uid=1000,gid=1000,allow_other,reconnect,transform_symlinks,BatchMode=yes,fsname=sshfs#jldugger@storage/mnt/HD_a2/ 0 0
Je peux confirmer que cela fonctionne avec le support /mnt/storage
. Ce dont j'ai besoin, c'est d'une méthode de montage au démarrage, mais une fois la connexion réseau établie.
Réponses:
Actuellement, Upstart dans Ubuntu ne génère pas d'événements réseau. Au lieu de cela, il appelle sysvinit traditionnel. Par défaut, NetworkManager est installé et en cours d'exécution; plutôt que d'émettre des événements de réseau pour démarrer, il contient un répartiteur de run-parts (/etc/NetworkManager/dispatcher.d/) qui lui-même s'appuie simplement sur le répartiteur de run-parts d'ifupdown (/etc/network/*.d/). En particulier, vous vous souciez de /etc/network/if-up.d/ et /etc/network/if-down.d/
Configurez d'abord une paire de clés ssh non chiffrée, afin de pouvoir monter le point sans invite. Écrivez un script, placez-le dans /etc/network/if-up.d/ et rendez exécutable. Ce qui suit a été découvert sur UbuntuForums et me suffisait:
Si vous disposez d'une connexion wifi ou d'une connexion non fiable, placez ce qui suit dans /etc/network/if-down.d/:
la source
echo
commandes qui sortaient en stdout enlogger -t mountsshfs
commandes à la place pour que la sortie soit envoyée à syslog.Upstart est la méthode préférée pour émettre des scripts ou des services de démarrage dans Ubuntu maintenant, bien que l'édition
/etc/rc.local
fonctionne toujours. Upstart vous permet de contrôler le moment où le service est exécuté, en vous assurant qu'il se produit après l'établissement de votre connexion réseau.Il est également possible de modifier les liens symboliques dans /etc/rc.Xd directement (remplacez X par le niveau d'exécution que vous utilisez) et ajoutez un nom tel que S99mount pour vous assurer qu'il est exécuté après la configuration du réseau. Cela devra pointer vers un fichier de script qui monte les sshfs que vous demandez.
la source
_netdev comme option de montage devrait résoudre ce problème, je crois
la source
Juste une pensée, mais si vous l'utilisez comme serveur de fichiers, NFS ou Samba serait peut-être une meilleure solution que ssh.
la source
Voici une autre solution au cas où vous ne disposez pas d'un certificat de votre hôte distant et devez utiliser un identifiant / mot de passe à la place. J'utilise dans cet exemple le même nom d'utilisateur et les mêmes répertoires utilisés par jldugger pour éviter d'ajouter de la confusion.
Créez un fichier contenant votre mot de passe dans votre répertoire personnel et sécurisez-le:
Modifiez votre
/etc/rc.local
fichier et insérez la commande suivante en bas, mais avant la "sortie 0":la source