Defcrypt

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.

:, , , , , ,
3 comentarios:
  1. juandesant

    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

  2. dGil

    Muchas gracias por el comentario Juandesant, les echaré un vistazo a ambos.
    Saludos!

  3. beto

    Perfecto me salio todo lo q publicaste muchas gracias

Deja un comentario

¿Buscando algo?

Utiliza este formulario para buscar: