Cómo montar un directorio o sistema de archivos Linux remoto usando SSHFS sobre SSH
El objetivo principal de escribir este artículo es proporcionar una guía paso a paso sobre cómo montar un sistema de archivos Linux remoto utilizando el cliente SSHFS sobre SSH.
Este artículo es útil para aquellos usuarios y administradores de sistemas que desean montar un sistema de archivos remoto en sus sistemas locales para cualquier propósito. Prácticamente lo hemos probado instalando el cliente SSHFS en uno de nuestros sistemas Linux y hemos montado con éxito sistemas de archivos remotos.
Antes de continuar con la instalación, comprendamos acerca de SSHFS y cómo funciona.
¿Qué es SSHFS?
SSHFS significa cliente (Secure SHell FileSystem) que nos permite montar un sistema de archivos remoto e interactuar con directorios y archivos remotos en una máquina local usando SSH. Protocolo de transferencia de archivos (SFTP).
Lectura sugerida: 10 ejemplos de comandos sFTP para transferir archivos en servidores remotos en Linux
SFTP es un protocolo seguro de transferencia de archivos que proporciona acceso a archivos, transferencia de archivos y funciones de administración de archivos a través del protocolo Secure Shell. Porque SSH utiliza cifrado al transferir archivos a través de la red de una computadora a otra y SSHFS viene con FUSE (sistema de archivos en el espacio de usuario) integrado. Módulo del kernel que permite a cualquier usuario sin privilegios crear su sistema de archivos sin modificar el código del kernel.
En este artículo, le mostraremos cómo instalar y utilizar el cliente SSHFS en cualquier distribución de Linux para montar un directorio o sistema de archivos Linux remoto en una máquina Linux local.
Paso 1: Instale el cliente SSHFS en sistemas Linux
De forma predeterminada, los paquetes sshfs no existen en todas las principales distribuciones de Linux; debe habilitar el repositorio epel en sus sistemas Linux para instalar sshfs con la ayuda del comando Yum con sus dependencias.
yum install sshfs
dnf install sshfs [On Fedora 22+ releases]
sudo apt-get install sshfs [On Debian/Ubuntu based systems]
Paso 2: Crear el directorio de montaje SSHFS
Una vez instalado el paquete sshfs, debe crear un directorio de punto de montaje donde montará su sistema de archivos remoto. Por ejemplo, hemos creado un directorio de montaje en /mnt/tecmint
.
mkdir /mnt/tecmint
sudo mkdir /mnt/tecmint [On Debian/Ubuntu based systems]
Paso 3: montar el sistema de archivos remoto con SSHFS
Una vez que haya creado su directorio de punto de montaje, ejecute el siguiente comando como usuario root para montar el sistema de archivos remoto en /mnt/tecmint
. En su caso, el directorio de montaje sería cualquier cosa.
El siguiente comando montará el directorio remoto llamado /home/tecmint
en /mnt/tecmint
en el sistema local. (No olvide reemplazar x.x.x.x con su dirección IP y punto de montaje).
sshfs [email :/home/tecmint/ /mnt/tecmint
sudo sshfs -o allow_other [email :/home/tecmint/ /mnt/tecmint [On Debian/Ubuntu based systems]
Si su servidor Linux está configurado con autorización basada en clave SSH, deberá especificar la ruta a sus claves públicas como se muestra en el siguiente comando.
sshfs -o IdentityFile=~/.ssh/id_rsa [email :/home/tecmint/ /mnt/tecmint
sudo sshfs -o allow_other,IdentityFile=~/.ssh/id_rsa [email :/home/tecmint/ /mnt/tecmint [On Debian/Ubuntu based systems]
Paso 4: Verificar que el sistema de archivos remoto esté montado
Si ha ejecutado el comando anterior correctamente y sin errores, verá la lista de archivos y directorios remotos montados en /mnt/tecmint
.
cd /mnt/tecmint
ls
[root@ tecmint]# ls
12345.jpg ffmpeg-php-0.6.0.tbz2 Linux news-closeup.xsl s3.jpg
cmslogs gmd-latest.sql.tar.bz2 Malware newsletter1.html sshdallow
epel-release-6-5.noarch.rpm json-1.2.1 movies_list.php pollbeta.sql
ffmpeg-php-0.6.0 json-1.2.1.tgz my_next_artical_v2.php pollbeta.tar.bz2
Paso 5: Verificar el punto de montaje con el comando df -hT
Si ejecuta el comando df -hT verá el punto de montaje del sistema de archivos remoto.
df -hT
Salida de muestra
Filesystem Type Size Used Avail Use% Mounted on
udev devtmpfs 730M 0 730M 0% /dev
tmpfs tmpfs 150M 4.9M 145M 4% /run
/dev/sda1 ext4 31G 5.5G 24G 19% /
tmpfs tmpfs 749M 216K 748M 1% /dev/shm
tmpfs tmpfs 5.0M 4.0K 5.0M 1% /run/lock
tmpfs tmpfs 749M 0 749M 0% /sys/fs/cgroup
tmpfs tmpfs 150M 44K 150M 1% /run/user/1000
[email :/home/tecmint fuse.sshfs 324G 55G 253G 18% /mnt/tecmint
Lectura sugerida: 12 comandos “df” útiles para comprobar el espacio en disco en Linux
Paso 6: Montar el sistema de archivos remoto de forma permanente
Para montar el sistema de archivos remoto de forma permanente, debe editar el archivo llamado /etc/fstab
. Para hacerlo, abra el archivo con su editor favorito.
vi /etc/fstab
sudo vi /etc/fstab [On Debian/Ubuntu based systems]
Vaya al final del archivo y agregue la siguiente línea, guarde el archivo y salga. La siguiente entrada monta el sistema de archivos del servidor remoto con la configuración predeterminada.
sshfs#[email :/home/tecmint/ /mnt/tecmint fuse.sshfs defaults 0 0
Asegúrese de tener implementado el inicio de sesión sin contraseña SSH entre los servidores para montar automáticamente el sistema de archivos durante los reinicios del sistema.
Si su servidor está configurado con autorización basada en clave SSH, agregue esta línea:
sshfs#[email :/home/tecmint/ /mnt/tecmint fuse.sshfs IdentityFile=~/.ssh/id_rsa defaults 0 0
A continuación, debe actualizar el archivo fstab para reflejar los cambios.
mount -a
sudo mount -a [On Debian/Ubuntu based systems]
Paso 7: Desmontar el sistema de archivos remoto
Para desmontar el sistema de archivos remoto, ejecute el siguiente comando y desmontará el sistema de archivos remoto.
umount /mnt/tecmint
Eso es todo por ahora, si tiene alguna dificultad o necesita ayuda para montar el sistema de archivos remoto, contáctenos a través de comentarios y si cree que este artículo es muy útil, compártalo con sus amigos.