Si estás pensando en montar una carpeta remota SSH como unidad local en linux, ya sea por realizar backups o trabajar directamente con los archivos de un equipo remoto, vamos a ver paso a paso como hacerlo en CentOS y Debian.
Vamos a usar un par de utilidades que podemos encontrar directamente en los repositorios, y que nos permitirán montar cualquier carpeta a la que tengamos acceso por ssh como si fuese local. Los pasos son bastante sencillo y una vez las tengamos montadas podremos trabajar sobre ellas tanto desde la interfaz gráfica como por la consola de comandos.
Esto nos puede venir ideal para por ejemplo hacer backups con megatools si estamos usando una distribución que no soporta ese software, o si estamos pensando en tener virtualización con varias máquinas y tener una dedicada exclusivamente a realizar las copias de seguridad.
Cómo instalar sshf y fuse en Debian Jessie y CentOS 7
Como he comentado, al realizarse la instalación mediante los repositorios va a ser realmente sencillo, ya que solo tendrás que ejecutar un par de comandos dependiendo de la distribución que uses. Ten en cuenta que te vale para cualquier otra versión también.
Debian Jessie apt-get install sshfs CentOS 7 yum install fuse sshfs
Una vez instalado simplemente cargas el módulo de fuse
modprobe fuse
Una vez lo tengas puedes asegurarte de que están los módulos cargados ejecutando un lsmod
lsmod | grep fuse salida: root@server1:~# lsmod | grep fuse fuse 5065 1 root@server1:~#
Cómo montar carpetas remotas con sshfs en CentOS y Debian
Una vez instalado y estando seguro de que lo tienes funcionando vas a crear una carpeta por ejemplo /var/remoto y a partir de ahí vas a montar la carpeta ssh en ella. En algunos casos es necesario meter el usuario root en el grupo fuse, así que lo vamos a ver también para que no tengas problemas más adelante.
Empezaré por añadir root (que es el que vamos a usar) al grupo fuse
adduser root fuse
Ahora que ya lo tienes toca crear la carpeta que usaremos para montar la unidad remota
mkdir /var/remoto
En este punto tienes que pensar si quieres utilizar el acceso con contraseña, o si prefieres conectar sshfs con claves públicas y privadas. Si tienes las claves creadas, simplemente pones la pública en el servidor remoto y conectas, sino le indicas la contraseña cuando te la pregunte.
sshfs root@56.89.75.195:/var/ruta/remota /var/remoto
La primera ruta es la del equipo remoto, y la segunda la carpeta que hemos creado donde la vamos a montar.
En este momento si miras el contenido de la carpeta que habías creado ls -l /var/remoto, verás que están los archivos correspondientes de la carpeta del equipo al que te conectas por ssh.
Cada vez que reinicies te va a tocar volver a hacerlo, a no ser que lo incluyas entre los comandos de arranque para que se conecte cada vez que lo inicies.
Cómo desmontar carpetas remotas montadas con sshfs
Bueno, tienes la carpeta montada, pero ¿Qué pasa si solo la quieres tener activa para realizar unas acciones y luego prefieres que no esté disponible por si por error modificas algo? No te preocupes por que lo vamos a solucionar con un solo comando.
Para desmontar tanto esta como cualquier otra unidad que tengas montada (incluso las USB, etc), bastará con que ejecutes contra la carpeta el comando umount.
umount -l /var/remoto
A partir de aquí podrás seguir utilizando la carpeta que habías montado como cualquier otra, pero recuerda que para montar una carpeta como unidad remota lo más recomendable es que esté vacía.
¿Tienes conectada alguna carpeta remota? ¿Para qué la usas?