Cómo hacer que automount y sshfs (osxfuse) trabajen con yosemite

Actualmente estoy tratando de que el automobile de Apple funcione con osxfuse y sshfs. El resultado debería ser que una carpeta especificada se monte automáticamente si se usa.

Lo que he hecho hasta ahora

  • instalado osxfuse y sshfs de los packages oficiales (las versiones son osxfuse: 2.7.3 / sshfs 2.5.0)
  • creado un enlace simbólico /sbin/mount_sshfs -> /usr/local/bin/sshfs
  • anexó la siguiente línea de configuration a / etc / auto_master: /- auto_ssh -nosuid
  • creó el file de configuration / etc / auto_ssh:

     /mnt -fstype=sshfs,sshfs_debug,allow_other,idmap=user,follow_symlinks,max_read=65536,rw,nodev,cache=no,IdentityFile=/Users/myUsername/.ssh/sshfs remoteUser@remoteHost:/path/to/folder 
  • luego vuelva a cargar automount a través de: sudo automount -cv

Si ahora trato de hacer un cd en mnt obtengo el siguiente error:

 bash: cd: /mnt: Operation not permitted 

La console contiene lo siguiente:

 04/12/14 01:27:50,418 automountd[1965]: MOUNT REQUEST: name=/mnt [] map=auto_ssh opts=nosuid path=/mnt direct=1 04/12/14 01:27:50,631 KernelEventAgent[69]: tid 54485244 received event(s) VQ_DEAD (32) 04/12/14 01:27:50,632 automountd[1965]: MOUNT REPLY : status=1, AUTOFS_DONE 04/12/14 01:27:50,632 automountd[1965]: mount of /mnt failed: Operation not permitted 

¿Alguien tiene alguna idea de cómo hacer que esto funcione, o qué probar a continuación?

  • Arrastra y suelta desde Photos.app a Photoshop
  • ¿Cómo detener el modo de pantalla completa moviendo la window a una nueva pantalla?
  • El desplazamiento del mouse no funciona cuando el mouse de Microsoft está conectado
  • MBP se bloquea después de despertar de un largo sueño después de la installation de Yosemite
  • La sustitución de text no funciona con Slack en Yosemite
  • instalar Windows 8 en mac
  • Cómo crear una networking ad-hoc protegida con contraseña en Yosemite cuando no está conectado a Internet
  • Bluetooth y WiFi interfieren entre sí desde Yosemite
  • 2 Solutions collect form web for “Cómo hacer que automount y sshfs (osxfuse) trabajen con yosemite”

    FWIW, si alguien más tropieza con esta vieja pregunta, la mejor guía que he encontrado para montar sshfs usando el automontador Apple está aquí:

    http://virtuallyhyper.com/2013/07/mount-various-file-system-with-autofs-on-mac-os-x-mountain-lion/#mount-sshfs-with-autofs

    Actualización del 2016-08-03: descubrí que la installation de SSHFS desde https://osxfuse.github.io es más estable que la versión homebrew, debido a alguna antigua dependencia (por lo tanto, esto puede mejorar en el futuro).

    CAVEAT: Esta connection es súper rápida cuando funciona, pero a menudo tiene problemas después de que se interrumpe la connection, por ejemplo, inactiva, en espera.


    Asume que tiene instalado Homebrew ( haga su vida más fácil y obtenga esto primero )

    Instalación de SSHFS

     brew install sshfs 

    Compruebe esta carpeta para ver los filesystems instalados: ls /Library/Filesystems Si no ve osxfusefs.fs , debe instalarlo.

    Get Cask

     brew tap caskroom/cask 

    Instalar OSXFUSE

     brew cask install osxfuse 

    Alternativamente, en lugar de homebrew usa las versiones de descarga de https://osxfuse.github.io/

    SSHFS + OSXFUSE ahora instalado. Un paso más…

    autofs necesita mount_* binarys.

    /usr/local/bin/sshfs también debería estar disponible como mount_sshfs , entonces:

    Enumera tus mount_* s con

     compgen -c | grep ^mount 

    O

     ls /sbin | grep mount 

    Si no ves mount_sshfs, debes hacer este paso. Este es un paso crítico porque se olvida fácilmente y puede generar dolores de cabeza.

     sudo ln -s $(which sshfs) /sbin/mount_sshfs 

    Agregar inicio /Library/LaunchDaemons/ en Boot Daemon en /Library/LaunchDaemons/

    El file podría ser llamado:

    Debe ejecutar esto en cada arranque para la extensión del kernel:

     /bin/bash -c "/Library/Filesystems/osxfusefs.fs/Support/load_osxfusefs; /usr/sbin/sysctl -w osxfuse.tunables.allow_other=1" 

    Entonces crea un nuevo file de service:

     /Library/LaunchDaemons/load.osxfusefs.tunables.plist 

    Contenido:

     <?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>Disabled</key> <false/> <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> 

    Cargar con launchctl (launchd) para el siguiente inicio, que es la versión de Mac OS X de systemctl (systemd)

     launchctl load /Library/LaunchDaemon/load.osxfusefs.tunables.plist 

    Configurar auto_master y auto_sshfs

    Lo siguiente asume que puede ingresar a su server con una key segura (no se requiere contraseña).

    / etc / auto_master

     /mnt/sshfs auto_sshfs -nosuid 

    / etc / auto_sshfs

    Puede usar parameters que normalmente vienen después de -o en sshfs -o dependiendo de su situación.

    • idmap = usuario: configuration pnetworkingeterminada. dado que su uid y gid probablemente sean diferentes en todos los sistemas operativos, puede asignar el usuario utilizado en el usuario @ ip: a su usuario local (cliente). El grupo se ignorará en este caso (lo que significa que las carpetas que no son de su propiedad pero que le otorgan permissions de lectura en el grupo del lado del server pueden no ser legibles localmente, en el lado del cliente)

    O

    • uid = YOURUSERID, gid = YOURGROUPID: solo escriba id YOURUSER para get los numbers. Esto solo asignará todos los files del assembly a esta combinación de usuario / grupo. Esto te permitirá leer todos los files. Creo que los files / carpetas nuevos que cree henetworkingarán la configuration pnetworkingeterminada de umask para cualquier carpeta que monte.

    • allow-other: uso esto, pero es arriesgado porque cualquier usuario que navegue por el assembly verá el assembly con las cnetworkingenciales utilizadas al conectarse.

    • enumera todos los parameters con man sshfs y lee cada parámetro después de cada -o

    replace:

    • YOURUSER con su nombre de usuario y
    • PRIVATEKEY a su key, por ejemplo, id_ed25519
    • ip con su dirección IP o nombre de host

    Contenido Importante es el parámetro de reconnect , de lo contrario cada vez que pierde la connection (como ir a dormir), Finder se bloqueará.

    Reemplazar

    • $ (id -u) con su identificación real en la máquina del cliente
    • $ (id -g) con su identificación de grupo real en la máquina del cliente

    Desafortunadamente no puedes ejecutar cosas en autofs como id -u

     NameOfMountThatGetsIgnonetworking -fstype=sshfs,port=22,reconnect,uid=$(id -u),gid=$(id -g),follow_symlinks,allow_other,IdentityFile=/Users/YOURUSER/.ssh/PRIVATEKEY,volname="NameOfMount" YOURUSER@ip:/path/on/server 

    Prueba

     df -Ph /path/to/mount 

    Lista de filesystems montados

     lsvfs 

    Listar todos los assemblys

     mount 
    Loving Apple Products like poisoning (iPhone, iPad, iMac, Macbook, iWatch).