私は、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 を自動マウントするにはどうすればよいでしょうか?
(私は homebrew の sshfs 2.5.0 を搭載した 10.9.5 を使用しています)
答え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:/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
上記が機能しない場合は、そのコンテンツに delay_connect を追加して確認してください。
また
Macfusion を参照してください。また、Macfusion を SSHFS ユーザー空間ファイルシステムの要件とする正当性については、OSXFUSE の FAQ を読むことも有益です。