Ssh
如何自動掛載 sshfs?
我正在嘗試通過自動掛載遠端資源,
sshfs
但對我不起作用。在詢問我是否可以為我的問題找到解決方案之前,我已經閱讀了所有這些、這個、這個和這個,但它沒有用。所以這是我到目前為止所做的:
- 將以下行添加到
/etc/fstab
:<username>@remote_host_ip_address:remote_path host_path fuse.sshfs delay_connect,_netdev,user,idmap=user,transform_symlinks,identityfile=/home/<username>/.ssh/id_rsa,allow_other,default_permissions,uid=1000,gid=1000 0 0
- 我有一次 ssh 進入遠端主機,所以它被添加到
/home/<username>/.ssh/know_hosts
文件中。我已經檢查過了,遠端主機在那裡- 我已經執行了命令
sudo mount -a
當我更改目錄並檢查本地路徑時出現問題,因為我無法
cd
進入它,它看起來像:我在這裡做錯了什麼?我錯過了什麼?
/etc/fstab
我建議不要使用 system-wide ,而是使用afuse。它在您連結的 Arch wiki 中被提及,但它也包含在 Fedora 中。這在您的使用者會話中執行,因此可以使用ssh-agent
或提示輸入密碼。它也只會按需掛載,並且可以配置為在超時後解除安裝,如果您的網路不完全穩固,這將特別有價值。
afuse -o intr -o timeout=300 \ -o mount_template='sshfs -o intr -o follow_symlinks -o reconnect <username>@<remote_host_ip_address>:<remote_path>:%r %m' \ -o unmount_template='fusermount -u -z %m' \ ~/<localmount>
…確保
<things in brackets>
用您當地的選項替換。afuse 文件提供了一些您可以使用的其他選項 - 我喜歡-o populate_root_command
,但這不是必需的。有許多不同的方法可以在登錄時自動執行它;這取決於您的桌面環境,但基本上您必須像任何其他此類命令一樣添加 afuse 行以自動啟動。