Ssh

如何自動掛載 sshfs?

  • July 14, 2018

我正在嘗試通過自動掛載遠端資源,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 行以自動啟動。

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