3

Я пытаюсь автоматически смонтировать каталог с удаленной машины Ubuntu на моем Mavericks Mac. SSHFS отлично работает при монтировании вручную, разными способами. Стандартное монтирование sshfs прекрасно работает:

sshfs user@desk:/home/user desk 

и я могу даже использовать mount:

sudo mount -t sshfs -o allow_other,IdentityFile=/Users/user/.ssh/nopass_id_dsa user@192.168.1.2:/home/user desk

(Я следовал инструкциям по автонастройке OSXFuse, чтобы настроить mount_sshfs)

Я хочу превратить это в автомонтирование. Самый простой, рекомендуемый OSXFuse способ - это превратить указанную выше команду mount в запись /etc/fstab :

user@192.168.1.2:/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? Или, как еще я могу автоматически смонтировать sshfs на OSX?

(Я на 10.9.5 с sshfs 2.5.0 от доморощенного)

2 ответа2

2

Из-за ошибки в 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

(при условии, что у вас настроены ключи без пароля.)

Расскажите авторам о ваших изменениях:

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>

Загрузите лист с:

launchctl load /Library/LaunchDaemons/sysctl.plist
0

попробуйте добавить следующий формат в fstab:

USERNAME @ HOSTNAME_OR_IP:/REMOTE/ КАТАЛОГ / LOCAL / MOUNTPOINT fuse.sshfs х-systemd.automount, _netdev, пользователь IDMAP = пользователь, transform_symlinks, IdentityFile = / дом / USERNAME / .ssh / id_rsa, allow_other, default_permissions, UID = USER_ID_N , gid = USER_GID_N 0 0

Если выше не работает, проверьте b добавив delay_connect в этот контент и проверьте.

Также

увидеть Macfusion. Также полезно прочитать FAQ OSXFUSE для обоснования того, что Macfusion является требованием для файловых систем пространства пользователя SSHFS.

http://macfusionapp.org/

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .