Cómo montar directorios remotos en Linux con SSHFS

Ciertamente no hay escasez de soluciones cuando se trata de sincronizar archivos entre dos dispositivos. Aunque Google Drive y Microsoft OneDrive pueden no ofrecerte clientes oficiales para Linux, NextCloud y otros sí lo hacen. Pero tal vez no confíes en una gran corporación para almacenar tus archivos. O, tal vez, quieras más seguridad de la que ofrece NextCloud. Con todos los componentes que se necesitan para construir algo como NextCloud, es probable que tenga más agujeros de seguridad no descubiertos que soluciones más simples.
¿Por qué usar SSHFS?
Desde la perspectiva del usuario final, esto es muy fácil de usar, limpio y simple. También es increíblemente seguro ya que se basa en el servidor OpenSSH, probado y resistente. La encriptación también es de primera categoría, así que puedes estar seguro de que nadie puede robar tus archivos mientras están en tránsito. Un servidor correctamente configurado y actualizado que solo escucha conexiones SSH suele ser imposible de crackear para todos menos los atacantes más hábiles (piensa en la NSA, especialistas en seguridad, etc.). Y probablemente no quieren tus archivos.
Por qué no querrías usar SSHFS
Si deseas la mejor velocidad de transferencia posible, podrías querer usar otras soluciones como NFS. SSHFS no es el más lento si tu conexión a Internet es de alta calidad, pero tampoco es el más rápido. Y si deseas transferir directorios que contienen cientos de archivos pequeños, se vuelve horrible. Además, si deseas ajustar la configuración de uso compartido de archivos, según usuarios individuales u otros factores, podrías querer usar otro software.
Para resumir, si todo lo que necesitas es una forma fácil y segura de sincronizar un directorio remoto con uno local y no tienes mucha prisa, probablemente estarás satisfecho con esta solución.
Instalar SSHFS
En instalaciones basadas en Arch Linux, usa este comando:
sudo pacman -SsshfsSi estás en una distribución basada en Fedora, usa:
sudo dnf installsshfsEn Debian, Ubuntu y familia, usa:
sudo apt installsshfsPara aquellos de ustedes que usan OpenSUSE, ingresa este comando:
sudo zypper installsshfsConfiguración del servidor
Si alquilas un servidor o VPS, el demonio del servidor OpenSSH ya está configurado. Sigue los pasos recomendados por tu proveedor de servicios en la nube para configurar un usuario regular (no root). Algunos te permiten hacer esto directamente desde su panel de control web e incluso te permiten importar la clave pública para permitir el acceso SSH. En este caso, genera los pares de claves localmente, con el comando ssh-keygen. Después, importa la clave pública desde “/home/your_username/.ssh/id_rsa.pub.”
Si el proveedor de la nube no ofrece una herramienta para importar fácilmente las claves públicas SSH, hazlo manualmente. Al menos, deshabilita el inicio de sesión como root y desactiva los inicios de sesión por contraseña. Usa claves SSH exclusivamente en su lugar: son imposibles de forzar por fuerza bruta, como ocurre con las contraseñas.
Si deseas sincronizar archivos entre dos computadoras en casa, simplemente trata una como el servidor (instala el paquete openssh-server y configura) y la otra como el cliente. Los mismos pasos se aplican.
Montar un directorio remoto localmente con SSHFS
Primero, crea un directorio que se sincronizará con el lado remoto.
mkdir$HOME/sshfsA continuación, monta el directorio remoto localmente a través de SSHFS. Reemplaza “user” con el nombre de usuario real creado en tu servidor y “203.0.113.1” con la dirección IP real de tu instancia remota.
sshfs [email protected]:/home/user $HOME/sshfsPor supuesto, si no deseas sincronizar todo el directorio home del usuario en el lado del servidor, simplemente reemplaza “/home/user” con “/home/user/some_other_directory” después de crearlo en el servidor.
Cuando desees desmontar, usa este comando:
cd&& fusermount -u$HOME/sshfsConclusión
Si deseas que un directorio se sincronice permanentemente con el lado remoto, agrega un comando como sshfs [email protected]:/home/user $HOME/sshfs en tu administrador de inicio automático. Cada administrador gráfico tiene un diferente administrador de configuración de inicio automático, así que consulta los manuales de ayuda de tu entorno de escritorio. Algunas fuentes recomiendan agregar una entrada a “/etc/fstab”, pero te aconsejamos evitar eso, ya que la falla al montar el directorio puede resultar en que tu sistema no arranque completamente.
Esperamos que esto cubra todas tus necesidades. Pero, si no lo hace, puedes leer sobre más opciones de línea de comandos en el manual en línea de SSHFS.