GNU/Linux >> Tutoriales Linux >  >> Linux

Cómo usar SSHFS para montar directorios remotos sobre SSH

SSHFS (SSH Filesystem) es un cliente de sistema de archivos basado en FUSE para montar directorios remotos a través de una conexión SSH. SSHFS utiliza el protocolo SFTP, que es un subsistema de SSH y está habilitado de forma predeterminada en la mayoría de los servidores SSH.

Cuando se compara con otros protocolos de sistemas de archivos de red como NFS y Samba, la ventaja de SSHFS es que no requiere ninguna configuración adicional en el lado del servidor. Para usar SSHFS solo necesita acceso SSH al servidor remoto.

Debido a que SSHFS usa SFTP, todos los datos transmitidos entre el servidor y el cliente deben cifrarse y descifrarse. Esto da como resultado un rendimiento ligeramente degradado en comparación con NFS y un mayor uso de la CPU en el cliente y el servidor.

Este tutorial le mostrará cómo instalar el cliente SSHFS en Linux, macOS y Windows y cómo montar un directorio remoto.

Instalando SSHFS #

Los paquetes SSHFS están disponibles para todos los principales sistemas operativos y la instalación es bastante sencilla.

Instalando SSHFS en Ubuntu y Debian #

SSHFS está disponible en los repositorios predeterminados de Ubuntu y Debian. Actualice el índice de paquetes e instale el cliente sshfs escribiendo:

sudo apt updatesudo apt install sshfs

Instalando SSHFS en CentOS #

En CentOS y otros derivados de Red Hat, ejecute el siguiente comando para instalar sshfs:

sudo yum install sshfs

Instalando SSHFS en macOS #

Los usuarios de macOS pueden instalar el cliente SSHFS descargando los paquetes FUSE y SSHFS del sitio osxfuse o a través de Homebrew:

brew cask install osxfusebrew install sshfs

Instalando SSHFS en Windows #

Los usuarios de Windows necesitan instalar dos paquetes, WinFsp y SSHFS-Win.

  • WinFsp.
  • SSHFS-ganar.

Montando un Sistema de Archivo Remoto #

Las siguientes instrucciones se aplican a todas las distribuciones de Linux y macOS.

Para montar un directorio remoto, el usuario de SSH debe poder acceder a él. El comando de montaje SSHFS toma la siguiente forma:

sshfs [user@]host:[remote_directory] mountpoint [options]

El comando sshfs leerá el archivo de configuración SSH y lo usará según la configuración del host. Si no se especifica el directorio remoto, el valor predeterminado es el directorio de inicio del usuario remoto.

Por ejemplo, para montar el directorio de inicio de un usuario llamado "linuxize" en un host remoto con dirección IP de "192.168.121.121", primero cree un directorio que servirá como punto de montaje, puede ser cualquier ubicación que desee:

mkdir ~/linuxizeremote

Luego use el comando sshfs para montar el directorio remoto:

sshfs [email protected]:/home/linuxize /home/linuxize/linuxizeremote

Se le pedirá que introduzca la contraseña de usuario. Para evitar escribir la contraseña cada vez que monte el directorio remoto, genere claves SSH y configure el inicio de sesión SSH sin contraseña.

Ahora puede interactuar con los directorios y archivos ubicados en un servidor remoto de la misma manera que lo hace con los archivos locales. Por ejemplo, puede editar, eliminar, renombrar o crear nuevos archivos y directorios.

Si desea montar permanentemente el directorio remoto, debe editar el /etc/fstab de la máquina local. archivar y agregar una nueva entrada de montaje. De esta manera, cuando su sistema se inicie, se montará automáticamente en el directorio remoto.

Para montar un directorio remoto sobre SSHFS desde /etc/fstab , usa fuse.sshfs como tipo de sistema de archivos.

/etc/fstab
user@host:/remote/dir  /local/mountpoint  fuse.sshfs  defaults  0  0

Al crear un montaje persistente, asegúrese de poder conectar el host remoto mediante la autenticación basada en clave SSH.

Montar un sistema de archivos remoto en Windows #

Los usuarios de Windows pueden usar Windows Explorer para asignar una unidad de red al directorio remoto en el servidor SSH.

Abra el Explorador de Windows, haga clic derecho en "Esta PC" y seleccione "Asignar unidad de red". Elija una unidad para montar y en el campo "Carpeta" ingrese el usuario remoto, el servidor y la ruta en el siguiente formato:

\\sshfs\user@host[\PATH]

Al momento de escribir este artículo, SSHFS-Win no admite la autenticación basada en claves, por lo que el servidor ssh remoto debe configurarse para aceptar la autenticación basada en contraseña.

Para obtener información más detallada, consulte el manual SSHFS-Win.

Desmontar un sistema de archivos remoto #

Para desconectar un sistema de archivos montado, use el umount o fusermount comando seguido del directorio donde se ha montado (punto de montaje):

fusermount -u /local/mountpoint
umount /local/mountpoint

Conclusión #

En esta guía, ha aprendido a usar SSHFS para montar un directorio remoto a través de SSH. Esto puede ser útil cuando desea interactuar con los archivos remotos usando las aplicaciones de su máquina local.

Para obtener una lista completa de las opciones de sshfs, escriba man sshfs en tu terminal.

También puede restringir el acceso de los usuarios a su directorio de inicio configurando un entorno SFTP Chroot Jailenvironment y cambiando el puerto SSH predeterminado para agregar una capa adicional de seguridad a su servidor.

Si tiene alguna pregunta o comentario, no dude en dejar un comentario.


Linux
  1. ¿Cómo recorrer directorios en Linux?

  2. Cómo diferenciar directorios sobre ssh

  3. ¿Cómo usar el comando su sobre adb shell?

  4. ¿Usar un dispositivo a través de SSH?

  5. Cómo saber si una conexión ssh ControlMaster está en uso

Cómo usar SSH para conectarse a un servidor remoto

Montar una carpeta remota con sshfs

Cómo:Administración remota de FreeBSD

Cómo usar el montaje SSHFS con directorios remotos a través de SSH

Cómo usar SSH para conectarse a un servidor remoto en Linux o Windows

¿Cómo monto una carpeta remota de Linux en Windows a través de SSH?