A veces solo necesita copiar algunos archivos entre dos computadoras, puede hacerlo con scp, sftp o rsync. Pero algunas de esas veces también necesita navegar por las carpetas remotas y esas tres opciones son demasiado engorrosas. Una solución rápida y sucia es montar una carpeta remota con sshfs.
Puede exportar esa carpeta con NFS, Samba o algún otro sistema de archivos de red, pero tendrá que lidiar con archivos de configuración, cortafuegos... Pero seguramente ya tiene un acceso ssh a su sistema remoto. Si no lo haces, no deberías estar aquí... creo xD
Instalar el paquete requerido
Supongo que en el origen (el 'servidor') ya tiene un acceso ssh en ejecución. En destino (el 'cliente') necesita instalar un programa llamado sshfs.
Binarios
En derivados de Debian (ubuntu, mint, devuan), ejecute:
sudo apt-get install sshfs
En centos, fedora y otras distribuciones que funcionan con yum:
sudo yum install sshfs
Compilación
En Gentoo Linux ejecute:
emerge -av net-fs/sshfs
En FreeBSD instale el puerto con:
# cd /usr/ports/sysutils/fusefs-sshfs/ # make install clean
Descarga y compilación manual
Vaya a https://github.com/libfuse/sshfs para descargar y siga las instrucciones en el archivo Léame.
Montar una carpeta remota con sshfs
Con el ejecutable sshfs, montar cualquier carpeta remota es tan fácil como ejecutar:
sshfs user@host:/path/to/remote/folder /path/to/mountpoint/
Escribir contraseñas es aburrido...
Lo sé, pero desafortunadamente, sshfs no incluye el -i
cambiar para cargar un archivo de clave privada. Afortunadamente, sshfs incluye el -o
cambie para llamar a la mayoría (si no a todas) de las opciones ssh.
La opción que necesitamos es IdentityFile
. Mire mi captura de pantalla, por alguna razón no usé el nombre estándar id_rsa/id_rsa.pub cuando generé mis claves. No recuerdo esa razón.
Hacer permanente
Esto duraría hasta que reinicie su sistema. Para que sea permanente, debe agregar a su /etc/fstab la siguiente línea:
user@host:/path/to/remote/ /path/to/mountpoint fuse.sshfs defaults 0 0
Alternativas a sshfs
Puede hacer lo mismo, pero el sistema remoto no estaría disponible en todo el sistema (digamos, apache no podría usar una carpeta remota) con mc, el comandante de medianoche, presionando F9 y eligiendo el enlace Sftp:
En el indicador, escriba la dirección remota siguiendo este formato sftp://[user@]machine:[port]/[remote-dir]
, luego escribe tu contraseña y estás dentro.
En el lado del escritorio gráfico, varios administradores de archivos lo admiten. No usé los grandes (como gnome, kde, etc.) durante mucho tiempo, ya ni siquiera sé los nombres de los programas, pero sé que admiten ssh. Este es pcmanFm de LXDE, use una dirección en el mismo formato que con el comandante de medianoche, por ejemplo:
No sé el nombre del paquete que hace esta magia, pero si estás usando Linux en un escritorio, probablemente ya lo hayas instalado.