Ce que je veux:
/home/<user>/mnt/remote-HD0
Ce que j'ai essayé
J'ai toujours utilisé des chemins absolus et j'ai également passé une sshkey (qui est copiée via ssh-copy-id sur le système distant) afin que je n'ai pas à taper de mot de passe. J'ai également commenté user_allow_other
de /etc/Fuse.conf
.
Qu'est-ce qui ne fonctionne pas?
Si je tape le cmd
sshfs -o allow_other,delay_connect,reconnect,identityfile=/home/<user>/.ssh/id_rsa <remote@filesystem>:/mnt/HD0 /home/<user>/mnt/remote-HD0
dans un terminal ou l'exécuter via un script exécutable, cela fonctionne comme prévu. J'ai accès au système de fichiers et je n'ai pas besoin de taper pw. Cependant, lorsque j'utilise la version fstab avec
sshfs#<remote@filesystem>:/mnt/HD0 /home/<user>/mnt/remote-HD0 Fuse defaults,_netdev,allow_other,identityfile=/home/<user>/.ssh/id_rsa 0 0
il ne monte pas jusqu'à ce que j'utilise
Sudo mount -a
et être invité à taper pw pour la connexion ssh et appuyez sur Entrée pour une phrase de passe vide ....
Avec les deux autres tentatives (crontab & systemd), cela ne fonctionne pas du tout ou il est cassé, car /home/<user>/mnt/remote-HD0
n'est pas accessible, c.-à-d.
ls /home/<user>/mnt/remote-HD0
ls: cannot access 'remote-HD0': Input/output error
ls -la
drwxrwxr-x 4 <user> <user> 4096 Jun 19 13:46 .
drwxr-xr-x 38 <user> <user> 4096 Jun 19 15:22 ..
d????????? ? ? ? ? ? remote-HD0
Donc, quelque chose s'est mal passé avec le processus de montage. Il y a (probablement) deux problèmes:
La commande sshfs est exécutée avant que le réseau ne soit en ligne (que j'ai essayé de prendre en compte en utilisant le service crontab et systemd)
Même avec l'utilisation d'une commande de mise en veille, ce problème avec "l'erreur d'entrée/sortie" se produit.
J'ai déjà passé quelques heures à essayer de résoudre ce problème et j'ai appris un peu sur toutes les méthodes utilisées, mais en ce moment, j'espère juste une solution pour que je puisse continuer (de préférence en utilisant fstab ou systemd, comme il semble être la bonne tentative).
Selon Révision # 4 de la question:
Ajout de la ligne
export SSH_AUTH_SOCK=/run/user/1000/keyring/ssh
au script sh a résolu le problème avec cron.