web-dev-qa-db-ja.com

OSXでsshfsで/ etc / fstabや自動マウントを使用するにはどうすればよいですか?

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を使用しています)

4
Adam

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
Adam

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

http://macfusionapp.org/

0
vembutech