使用 sshfs 在重启时自动挂载远程文件系统,无需密码

使用 sshfs 在重启时自动挂载远程文件系统,无需密码

我想要的是:

  • 启动我的系统(本例中是笔记本电脑上的 ubuntu 18.04)
  • 通过以下方式访问远程文件系统/home/<user>/mnt/remote-HD0

我尝试过

  • 使用 sshfs 命令编辑 /etc/fstab
  • 使用 @reboot 标签编辑 /etc/crontab 并运行脚本来执行 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 连接,然后按 Enter 输入空密码....

另外两次尝试(crontab 和 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. 即使使用睡眠命令,仍然会出现“输入/输出错误”的问题。

我确实花了几个小时尝试解决这个问题,并且了解了所有使用的方法,但此时此刻,我只希望找到一个解决方案,以便我可以继续前进(最好使用 fstab 或 systemd,因为这似乎是正确的尝试)。

答案1

按照修订 #4问题的:

将该行添加export SSH_AUTH_SOCK=/run/user/1000/keyring/ssh到 sh 脚本解决了 cron 的问题。

相关内容