如何使用 RSA 密钥按需自动挂载 ssh 文件系统

Vit*_*you 5 ssh automounting key-authentication sshfs

我正在尝试将树莓派 ( /home/pi/server_folder) 中的文件夹自动安装到本地文件夹 ( /home/my_name/raspberrypi)。当我设置空白 rsa 密钥时,我可以使用 sshfs(在 fstab 中自动挂载)来执行此操作,但是当我尝试使用实际密钥(如 123)时,树莓派文件系统将无法挂载。这是非常明显的,因为我必须提供密码,但是有没有办法让它在我第一次尝试访问时询问密码/home/my_name/raspberrypi,或者做类似的事情?因为如果有人拿到我的笔记本电脑,如果我将 rsa 密钥留空,他们不需要输入密码或任何内容即可访问我的树莓派。我已经研究过autofs、 和autosshfs,但 autosshfs 不会下载,并且 autofs 没有解释如何使用实际的 rsa 密钥进行安装(好吧,我还没有找到有关如何操作的指南)。我正在使用 arch Linux,最新版本。这是 fstab 条目:

pi@10.0.0.50:/home/pi/server_folder/ /home/my_name/raspberrypi  fuse.sshfs noauto,x-systemd.automount,_netdev,users,idmap=user,IdentityFile=/home/my_name/.ssh/id_rsa,allow_other,reconnect 0 0
Run Code Online (Sandbox Code Playgroud)

这就是 arch wiki 所说的(但解释得不是很好)。

Gil*_*il' 5

由于 SSHFS 基于 FUSE,因此更容易使用非 root 自动挂载程序。使用afuse,这几乎就是它的设计目的。一次性设置:

mkdir ~/.afuse
ln -s .afuse/raspberrypi/server_folder ~/raspberrypi
Run Code Online (Sandbox Code Playgroud)

要启动自动安装程序:

afuse -o mount_template="sshfs %r:/ %m" -o unmount_template="fusermount -u -z %m" ~/.afuse
Run Code Online (Sandbox Code Playgroud)

确保SSH_AUTH_SOCK在启动时设置该变量afuse,即必须在之后启动ssh-agent。运行ssh-add将密钥加载到 SSH 代理中,然后您就可以访问 SSHFS 目录。