Búsqueda de sitios web

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.