Secure Shell FileSystem (SSHFS) es un sistema de archivos para sistemas Linux mediante el uso de la implementación reescrita del módulo FUSE, que fue desarrollada por Miklos Szeredi, quién también escribió SSHFS permitiendo montar un sistema de archivos de un servidor SSH mediante este mismo protocolo. En Windows puedes utilizar SSHFS-Win de Bill Zissimopoulos para montar la unidad de red.
En este artículo explicaremos brevemente cómo utilizar este sistema de archivos, montándolo manualmente y también automáticamente con fstab.
Instalación y montaje de un sistema de archivos
En el equipo cliente deberás instalar los siguientes paquetes:
# apt install sshfs fusePosteriormente comprueba que esté cargado FUSE en el Kernel:
# grep -i fuse /lib/modules/$(uname -r)/modules.builtinDebería aparecer lo siguiente:
kernel/fs/fuse/fuse.koEn caso que no aparezca, actívalo:
# modprobe fusePosteriormente crea la ubicación donde montarás el sistema de archivos:
# mkdir /root/sshfsLuego simplemente especifica el directorio remoto y el directorio destino:
# sshfs -o allow_other root@dirección_IP:/root /root/sshfsTe pedirá la introducción de la contraseña del servidor SSH remoto y una vez introducida habrá montado el directorio (ejemplo):
root@clientesshfs:~# ls -la /root/sshfs/
total 56
drwx------ 1 root root 4096 Jan 4 14:33 .
drwx------ 8 root root 4096 Jan 4 17:59 ..
drwxr-xr-x 1 root root 4096 Jan 4 14:33 .ansible
-rw------- 1 root root 5 Jan 4 17:40 .bash_history
-rw-r--r-- 1 root root 3106 Dec 5 2019 .bashrc
drwx------ 1 root root 4096 Jun 15 2020 .cache
drwx------ 1 root root 4096 Jun 15 2020 .config
-rw-r--r-- 1 root root 161 Dec 5 2019 .profile
drwx------ 1 root root 4096 Jan 4 14:33 .ssh
-rw------- 1 root root 14008 Aug 26 16:11 .viminfo
-rw------- 1 root root 110 Dec 21 10:22 .XauthorityCómo montar el sistema de archivos automáticamente
Para montar el sistema de archivos SSHFS automáticamente al iniciar el sistema operativo lo más práctico y seguro es el uso de llaves SSH para ello. Por lo tanto, deberás crear una llave en el equipo cliente y copiarla/transferirla al servidor remoto.
Explicaremos el proceso a continuación, pero tienes más información en Creación de llaves con ssh-keygen.
Primero crea la llave SSH con ssh-keygen:
# ssh-keygen -t rsa -b 4096Una vez creada, puedes utilizar la utilidad que incorpora el propio ssh-keygen para transferirla:
# ssh-copy-id root@direcciónIPTe pedirá la contraseña del servidor remoto para almacenarla y debería aparecer que ha sido añadida:
Number of key(s) added: 1Una vez realizado, comprueba que puedes acceder sin que solicite la contraseña del usuario del servidor remoto. En caso afirmativo, podrás montarlo por fstab utilizando la llave.
Para realizarlo, edita el fichero de fstab:
# vi /etc/fstabY añadir al final la siguiente línea (modifícalo en caso necesario):
root@direcciónIP:/root /root/sshfs fuse.sshfs noauto,x-systemd.automount,_netdev,users,idmap=user,IdentityFile=/root/.ssh/id_rsa,allow_other,reconnect 0 0Una vez realizado el sistema de archivos se montará automáticamente al iniciar el sistema operativo.
Esperamos haberte ayudado con este tutorial 🙂. Recuerda, si tienes consultas sobre esta u otra cuestión relacionada con tus servidores en Clouding, no dudes en escribir a soporte@clouding.io ¡Estamos a tu lado para lo que necesites!