Instalar y configurar SSHFS en MacOS X Leopard
por dGil el 27/12/2008, en Shell, Tutoriales
En este artículo vamos a explicar como instalar SSHFS en Leopard y cómo configurarlo. El procedimiento es igual para la mayoría de sistemas *nix, por lo tanto, también funcionará para GNU/Linux.
Segun la wikipedia [en], SSHFS es:
SSHFS (Secure SHell FileSystem) is a file system for Linux (and other operating systems with a FUSE implementation, such as Mac OS X or FreeBSD) capable of operating on files on a remote computer using just a secure shell login on the remote computer. On the local computer where the SSHFS is mounted, the implementation makes use of the FUSE (Filesystem in Userspace) kernel module. The practical effect of this is that the end user can seamlessly interact with remote files being securely served over SSH just as if they were local files on his/her computer. On the remote computer the SFTP subsystem of SSH is used.
Por lo tanto, SSHFS nos permite de una forma segura montar un disco duro que está alojado en un PC diferente en local de forma transparente. Para el usario o el sistema, es un disco duro más, como el disco duro principal, solo que en realidad no está alojado en nuestra máquina.
Instalación
Como indica la Wikipedia, para que funcione en MacOS X necesitamos instalar FUSE [en]. Para ello vamos a la página de MacFUSE y nos descargamos el .dmg.
Una vez instalado MacFUSE tenemos que instalar SSHFS, para ello vamos a la página de descarga y descargamos el archivo sshfs-static-leopard.gz. Una vez descargado abrimos un terminal y tecleamos:
# Suponiendo que se ha descargado en Downloads $ cd Downloads $ gzip -d sshfs-static-leopard.gz # Le damos permisos de ejecución $ chmod +x sshfs-static-leopard # Lo movemos al path para poderlo ejecutar con el comando 'sshfs' $ mv sshfs /usr/bin
Configuración en *nix
Para montar de forma manual es tan senzillo como escribir en el terminal:
# Creamos el directorio dónde queremos montar el disco duro # En MacOS por defecto se montan en /Volumes $ mkdir /Volumes/Server # La estructura para usar sshfs es: # sshfs usuario@servidor:/algun/directorio /lugar/donde/montar -o auto_cache,reconnect,volname="Nombre del Volumen a montar" # Ejemplo: $ mkdir /Volumes/hdexterno $ sshfs usuario@servidor:/home/usuario /Volumes/hdexterno -o auto_cache,reconnect,volname="HD externo" # Para desmontar $ umount /Volumes/hdexterno
Como observación, el directorio que creamos dónde se monta el disco duro externo, se elimina cuando desmontamos. Por lo tanto, cada vez que montemos tendremos que volver a crear ése directorio.
SSHFS es realmente útil, pero tener que recordar y escribir cada vez que queramos montar un disco duro externo todos esos comandos es un poco engorroso. Podemos crear un pequeño script que lo haga totdo automáticamente. Sólo tenemos que crear un archivo e insertar las siguientes lineas:
# Puedes dar el nombre que prefieras al script, nosotros le llamaremos montar-server # mate es un editor de MacOS, usa tu editor preferido $ mate montar-server
Dentro del archivo tenemos que guardar las siguientes líneas:
#!/bin/bash # Sistema para montar automaticamente un directorio por SSHFS ######################################################### # INFORMACION DEL SERVIDOR ######################################################### # Directorio EXTERNO que queremos montar en local # Especificar ruta completa DIR_EXT="/home/usuario" # IP o nombre del servidor HOST="ejemplo.com" # Nuestro usuario para conectarnos USUARIO="usuario" ######################################################### # INFORMACION LOCAL ######################################################### # Directorio local dónde queremos montar el disco duro externo # Especificar ruta completa DIR_LOCAL="/Volumes/hdexterno" # Nombre para identificar el volumen en local NOMBRE="HD externo" ######################################################### # NO EDITAR ESTA PARTE ######################################################### mkdir $DIR_LOCAL sshfs $USUARIO@$HOST:$DIR_EXT $DIR_LOCAL -o auto_cache,reconnect,volname=$NOMBRE
Para más seguridad, podemos restringir el acceso al script solo a nuestro usuario:
$ chmod 700 montar-server
Para poder ejecutar éste script:
# Suponiendo que el script está en el directorio actual $ ./montar-servidor
Si queremos, para tener mas comodidad podemos guardarlo en el path, así lo podremos ejectuar con una instrucción. Para ello, abrimos un terminal:
# Suponiendo que estamos en el directorio del script $ mv montar-servidor /usr/local/bin # Ahora ya podemos ejecutar con el comando 'montar-servidor' $ montar-servidor
Ahora ya tenemos un sistema para montar de forma rápida un directorio por SSHFS.
07/01/2009 a las 11:19 pm
Otra opción magnífica es MacFusion [1], en plan libre, y ExpanDrive [2], con mucho mayor rendimiento (a cambio de usar más RAM), y de pago.
[1] http://www.macfusionapp.org
[2] http://www.expandrive.com/expandrive
07/01/2009 a las 11:42 pm
Muchas gracias por el comentario Juandesant, les echaré un vistazo a ambos.
Saludos!
17/02/2010 a las 7:45 pm
Perfecto me salio todo lo q publicaste muchas gracias