Ssh
如何使用 RSA 密鑰按需自動掛載 ssh 文件系統
我正在嘗試將我的樹莓派 (
/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 目錄。