OSX で /etc/fstab や automount を sshfs とともに使用するにはどうすればよいですか?

OSX で /etc/fstab や automount を sshfs とともに使用するにはどうすればよいですか?

私は、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 を読むことも有益です。

出典: http://macfusion.org/

関連情報