Ubuntu 18.04: автоматическое монтирование удаленной файловой системы при перезагрузке без пароля с помощью sshfs (решено)

Решение:

добавление строки export SSH_AUTH_SOCK=/run/user/1000/keyring/ssh в мой скрипт .sh решило проблему с помощью cron.

Что я хочу:

  • загрузить мою систему (в данном случае Ubuntu 18.04 на ноутбуке)
  • иметь доступ к удаленной файловой системе через /home/<user>/mnt/remote-HD0

Что я пытался

  • редактировать / etc / fstab с помощью команды sshfs
  • редактировать / etc / crontab с @reboot tag и запустите сценарий для выполнения команды sshfs
  • попробовал настраиваемую службу systemd для запуска сценария для выполнения команды sshfs

Я всегда использовал абсолютные пути и также передавал sshkey (который копируется с помощью ssh-copy-id в удаленную систему), поэтому мне не нужно вводить пароль. Я также раскомментировал user_allow_other из /etc/fuse.conf.

Что не работает?

Если я печатаю cmd

sshfs -o allow_other,delay_connect,reconnect,identityfile=/home/<user>/.ssh/id_rsa <remote@filesystem>:/mnt/HD0 /home/<user>/mnt/remote-HD0

в терминале или запускаю его через исполняемый скрипт, он работает как задумано. У меня есть доступ к файловой системе и мне не нужно вводить pw. Однако, когда я использую версию fstab с

sshfs#<remote@filesystem>:/mnt/HD0    /home/<user>/mnt/remote-HD0    fuse    defaults,_netdev,allow_other,identityfile=/home/<user>/.ssh/id_rsa 0 0

, она не монтируется, пока я не использую

 sudo mount -a

и меня не попросят набрать pw для соединения ssh и нажать клавишу ввода для пустой парольной фразы. ...

С двумя другими попытками (crontab & amp; systemd) он либо вообще не работает, либо не работает, потому что /home/<user>/mnt/remote-HD0 недоступен, т.е.

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

, поэтому что-то пошло не так с процессом монтажа. есть (вероятно) две проблемы:

1) команда sshfs выполняется до того, как сеть подключена (что я пытался учесть с помощью службы crontab и systemd)

2) даже при использовании сна cmd возникает эта проблема с «ошибкой ввода / вывода».

Я потратил уже несколько часов, пытаясь это исправить, и довольно много узнал обо всех используемых методах, но в этот самый момент я просто надеюсь на решение, чтобы я мог двигаться дальше (предпочтительно используя fstab или systemd, так как кажется правильной попыткой).

1
задан 26 June 2019 в 17:26

1 ответ

Согласно Версия №4 вопроса:

Добавление строки export SSH_AUTH_SOCK = / run / user / 1000 / keyring / ssh к сценарию sh решена проблема с cron.

1
ответ дан 4 February 2020 в 13:22

Другие вопросы по тегам:

Похожие вопросы: