MavericksMacのリモート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を自動マウントする方法は他にありますか?
(私は自作のsshfs 2.5.0で10.9.5を使用しています)
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
fstabに以下のフォーマットを追加してみてください。
USERNAME @ HOSTNAME_OR_IP:/ REMOTE/DIRECTORY/LOCAL/MOUNTPOINT Fuse.sshfs x-systemd.automount、_netdev、user、idmap = user、transform_symlinks、identityfile =/home/USERNAME/.ssh/id_rsa、allow_other、default_permissions、uid = USER_ID_N 、gid = USER_GID_N 0 0
上記が機能しない場合は、bそのコンテンツにdelay_connectを追加して確認してください。
また
macfusionを参照してください。 MacfusionをSSHFSユーザースペースファイルシステムの要件にする理由について、OSXFUSEのFAQ)を読むことも有益です。