我正在嘗試從我的 Mavericks Mac 上的遠端 Ubuntu 電腦自動掛載目錄。 SSHFS 在以多種不同方式手動安裝時可以完美運作。標準 sshfs 掛載效果很好:
sshfs user@desk:/home/user desk
我甚至可以使用mount
:
sudo mount -t sshfs -o allow_other,IdentityFile=/Users/user/.ssh/nopass_id_dsa [email protected]:/home/user desk
(我按照OSXFuse 自動掛載說明建立mount_sshfs
)
我想把它變成自動掛載。 OSXFuse推薦的最簡單的方法是將上面的mount
指令變成一個/etc/fstab
條目:
[email protected]:/home/user /Network/desk sshfs allow_other,IdentityFile=/Users/user/.ssh/nopass_id_dsa 0 0
但這不起作用:
Network $ sudo mount desk
mount: desk: unknown special file or file system.
同樣,如果我這樣做,sudo automount -vc
那麼當我嘗試輸入掛載點時,我要么會遇到很長的超時,要么會出現無用的“不允許操作”錯誤,具體取決於我如何處理 fstab 選項的格式。當我嘗試設定自動掛載映射時,出現相同的錯誤,如上所述這裡。
我的 fstab 條目有什麼問題?或者,我還能如何在 OSX 上自動掛載 sshfs?
(我在 10.9.5 上使用自製程式的 sshfs 2.5.0)
答案1
由於 OSXFuse 中的錯誤,這對於allow_other 標誌的工作是必要的:
sudo sysctl -w osxfuse.tunables.allow_other=1
這可能會也可能不會解決 fstab 問題,但它確實適用於直接映射。這是我的設定方法。
將此行新增至 /etc/auto_master:
/- auto_ssh -nobrowse,nosuid
建立/etc/auto_ssh:
/Users/USER/MOUNT_POINT -fstype=sshfs,allow_other,idmap=user,cache=no USER@LINUXMACHINE:/home/USER
(假設您設定了無密碼金鑰。)
告訴 autofs 您的變更:
sudo automount -vc
要使 osxfuse.tunables.allow_other 更改在重新啟動後仍然有效:
將以下內容放入/Library/LaunchDaemons/sysctl.plist
:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>Label</key>
<string>sysctl</string>
<key>ProgramArguments</key>
<array>
<string>/bin/bash</string>
<string>-c</string>
<string>/Library/Filesystems/osxfusefs.fs/Support/load_osxfusefs; /usr/sbin/sysctl -w osxfuse.tunables.allow_other=1</string>
</array>
<key>RunAtLoad</key>
<true/>
</dict>
</plist>
使用以下命令載入 plist:
launchctl load /Library/LaunchDaemons/sysctl.plist
答案2
嘗試在 fstab 中新增以下格式:
USERNAME@HOSTNAME_OR_IP:/遠端/目錄/本地/掛載點fusion.sshfs x-systemd.automount,_netdev,使用者,idmap=使用者,transform_symlinks,identityfile=/home/USERNAME/.ssh/id_rsa,allow_,default_permissions,defaultuid =USER_ID_N ,gid=USER_GID_N 0 0
如果上述不起作用,請檢查b 在該內容中加入delay_connect 並檢查。
也
參見麥克融合。閱讀 OSXFUSE 的常見問題解答也很有幫助,因為他們解釋了將 Macfusion 作為 SSHFS 使用者空間檔案系統的要求的理由。