Introducción
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.
En comparación con otros protocolos de sistema 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. Solo se requiere acceso SSH al servidor remoto para usar SSHFS.
Dado que SSHFS utiliza SFTP, todos los datos transmitidos entre el servidor y el cliente deben cifrarse y descifrarse. Esto da como resultado un rendimiento ligeramente más bajo que NFS y un mayor uso de 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.
Instalar SSHFS
Los paquetes SSHFS están disponibles para todos los sistemas operativos principales y la instalación es bastante sencilla.
Instale SSHFS en Ubuntu y Debian
SSHFS está disponible en los repositorios predeterminados de Ubuntu y Debian. Actualice el índice del paquete e instale el cliente sshfs escribiendo:
sudo apt update
sudo apt install sshfs
Instalar SSHFS en CentOS
En CentOS y otros derivados de Red Hat, ejecute los siguientes comandos para instalar sshfs.
Agregue el repositorio ELP:
sudo yum install epel-release
Instale SSHFS:
sudo yum install sshfs
Instalar SSHFS en macOS
Los usuarios de MacOS pueden instalar el cliente SSHFS descargando los paquetes FUSE y SSHFS desde el sitio de osxfuse o vía Homebrew:
brew cask install osxfuse
brew install sshfs
Instalar SSHFS en Windows
Los usuarios de Windows necesitan instalar dos paquetes, WinFsp y SSHFS-Win.
Montar el sistema de archivos remoto
Las siguientes instrucciones son aplicables a todas las distribuciones de Linux y macOS.
Para montar un directorio remoto, el usuario SSH debe poder acceder a él. El comando mount SSHFS tiene la siguiente forma:
sshfs [user@]host:[remote_directory] mountpoint [options]
El comando sshfs leerá el archivo de configuración SSH y lo usará para la configuración del host. Si no se especifica el directorio remoto, por defecto es el directorio de inicio del usuario remoto.
Por ejemplo, para montar el directorio de inicio de un usuario llamado " alice " en un host remoto con la dirección IP "192.168.222.222", primero cree un directorio que actuará como un punto de montaje, puede ser cualquier ubicación deseada:
mkdir ~/aliceremote
Luego use el comando sshfs para montar el directorio remoto:
sshfs [email protected]:/home/alice /home/alice/aliceremote
Se le pedirá que ingrese la contraseña del 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 directorios y archivos ubicados en un servidor remoto de la misma forma que los archivos locales. Por ejemplo, puede editar, eliminar, cambiar el nombre o crear nuevos archivos y directorios.
Si desea montar permanentemente el directorio remoto, necesita editar el /etc/fstab
la computadora local y agregar una nueva entrada de montaje. Esto montará automáticamente el directorio remoto al iniciar el sistema.
Para montar un directorio remoto en SSHFS desde /etc/fstab
, use fuse.sshfs
como tipo de sistema de archivos.
Al crear un montaje persistente, asegúrese de poder conectarse al host remoto mediante la autenticación basada en claves SSH.
Monte el sistema de archivos remoto en Windows
Los usuarios de Windows pueden utilizar el Explorador de Windows para asignar una unidad de red al directorio remoto en el servidor SSH.
Abra el Explorador de Windows, haga clic con el botón 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]
En el 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 de SSHFS-Win.
Desmontar el sistema de archivos remoto
umount
un sistema de archivos montado, use el comando umount o fusermount
seguido del directorio donde se montó (punto de montaje):
fusermount -u /local/mountpoint
umount /local/mountpoint
Conclusión
En esta guía, aprendió a usar SSHFS para montar un directorio remoto a través de SSH. Esto puede resultar útil cuando desee interactuar con archivos remotos mediante aplicaciones informáticas locales.
Para obtener una lista completa de las opciones de sshfs, escriba man sshfs
en la terminal:
man sshfs