Ssh

如何使用 RSA 密鑰按需自動掛載 ssh 文件系統

  • July 6, 2019

我正在嘗試將我的樹莓派 ( /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

這就是arch wiki所說的(但解釋得不是很好)。

由於 SSHFS 基於 FUSE,因此使用非 root 自動掛載程序更容易。使用afuse,這幾乎就是它的設計目的。一次性設置:

mkdir ~/.afuse
ln -s .afuse/raspberrypi/server_folder ~/raspberrypi

要啟動自動掛載程序:

afuse -o mount_template="sshfs %r:/ %m" -o unmount_template="fusermount -u -z %m" ~/.afuse

確保SSH_AUTH_SOCK在啟動時設置了變數afuse,即它必須在之後啟動ssh-agent。執行ssh-add將密鑰載入到 SSH 代理中,然後您將能夠訪問 SSHFS 目錄。

引用自:https://unix.stackexchange.com/questions/307878