¿Cómo montar un sistema de archivos o carpeta remota usando SSHFS sobre 
SSH en Ubuntu
¡Trabajadores!

La fuerza no depende del número exclusivamente. La unión es la que hace 
la fuerza. Este adagio se ha repetido una y otra vez en la historia, 
desde Leónidas hasta nuestros días. Sabemos que entre los hombres, la 
argamasa no es otra que la cohesión. Hemos de hermanarnos frente a un 
objetivo común, una misión de la que colectiva e individualmente 
saldremos beneficiados.

Nuestro causal de unión no es otro que el lema bajo el que se fundó 
nuestra República y su software: la Libertad.

Ahora bien, un sistema informático no tiene que permanecer gregario; 
bien puede unirse a otros para conformar una herramienta de mayor valía 
y servir - a su vez - nuestros designios bajo un porvenir luminoso. GNU 
con Linux hace constar esta máxima avalando la posibilidad de ejecutar 
programas servidores de múltiples funcionalidades, que permitan a otros 
sistemas clientes - ajenos o propios - interconectarse y compartir sus 
recursos. Esto puede realizarse de una manera rápida y poco segura, pero 
normalmente recomendaré el empleo del estándar Secure Shell (SSH), pues 
consta de encriptación punto a punto y se hace de difícil vulneración, 
logrando una mayor seguridad para nuestro sistema y el ajeno.

Normalmente esta acción de hermanado suele ser temporal, pero existirán 
ocasiones donde querremos que las mismas se solidifiquen y se hagan 
permanentes en pos de un uso constante.

Cada computadora a la que queramos conectarnos a través del protocolo 
Secure Shell debe contar con el servidor SSH, software libre altamente 
útil. Ubuntu Server ya contará con dicha facilidad incorporada por 
defecto, pero en el caso de las versiones de escritorio (Ubuntu Desktop) 
habremos de instalarlo específicamente, si es que no lo hemos hecho ya. 
Para ello, en tales equipos abrimos una terminal presionando Ctrl+Alt+T 
e ingresamos:

sudo apt install openssh-server 

Si usamos un cliente de escritorio gráfico, ya podríamos montar discos o 
directorios en red, de forma temporal o permanente. Simplemente debemos 
ir al panel superior y hacer clic en Lugares / Conectar con servidor... 
Al hacerlo aparecerá la ventana Conectar con el Servidor.

Esta nos permitirá una variedad de esquemas de trabajo completando los 
datos requeridos... podremos asociarnos a servidores FTP Públicos o con 
contraseña, compartido de Windows, protocolo Filing de Appe, WebDAV 
común y seguro. En este caso como empleamos Linux nos conectaremos a 
través del protocolo SSH (Secure Shell) a otro sistema remoto, que 
oficiará de servidor.

Normalmente en el campo Servidor debemos ingresar la dirección IP o 
nombre de red (host) del equipo remoto, y en el campo Carpeta 
normalmente querremos indicar la carpeta de usuario en el servidor 
remoto (/home/usuario). Finalmente el nombre de usuario y la contraseña 
del usuario (que normalmente corresponden al usuario de la carpeta).

Opcionalmente, si deseamos hacer de este vínculo uno permanente, 
podríamos tildar "recordar contraseña" y agregar la carpeta remota a los 
Marcadores, con lo cual tendremos siempre el disco de red a mano. Para 
desmontar el servidor desde nuestro administrador gráfico, debemos 
presionar el botón de desmontaje ("Eject") o hacer clic con el botón 
derecho del ratón sobre el ícono de la carpeta montada y elegir la 
opción Desmontar.

Ahora bien, en el caso del uso de la terminal, querremos montar desde 
allí al disco remoto y operarlo localmente. Esto será útil para 
administradores de sistema que quieran montar sistemas de archivo usando 
cliente SSHFS sobre SSH, y puedan responder a cualquier propósito de 
trabajo. Por ejemplo, tener una red LAN con un servidor de discos NAS, o 
contar con un disco de gran capacidad en un equipo remoto y hacer uso de 
sus archivos desde un equipo portátil. En fin, cualquier trabajo que 
implique "carpetas en red".

Para ello en nuestra terminal emplearemos dicho cliente, que normalmente 
no está incluido entre los paquetes por defecto. Abrimos una terminal 
con Ctrl+Alt+T e ingresamos:

sudo apt install sshfs

Una vez instalado el paquete SSHFS, necesitamos crear un directorio que 
oficiará de punto de montaje para el sistema de archivos remoto. 
Conviene hacerlo dentro de la carpeta de sistema /mnt, lo cual 
recomiendo hacer. En este ejemplo el punto de montaje local estará 
localizado en /mnt/discoevita.

sudo mkdir /mnt/discoevita

Una vez creado el directorio que nos servirá como punto de montaje 
local, ejecutamos el siguiente comando como Conductor del sistema, que 
montará la carpeta remota /home/evita dentro de la carpeta 
/mnt/discoevita de nuestro sistema de archivos local (no olviden 
reemplazar 192.168.0.102 con la dirección IP o nombre de red del punto 
de montaje):

sudo sshfs -o allow_other evita@192.168.0.102:/home/evita/ 
/mnt/discoevita

...Ahora bien, si el servidor remoto está configurado para hacer uso de 
autorización basada en llaves SSH, debemos entonces especificarle la 
ruta hacia nuestras llaves públicas con el siguiente comando:

sudo sshfs -o allow_other,IdentityFile=~/.ssh/id_rsa 
evita@192.168.0.102:/home/evita/ /mnt/discoevita

Si hemos ejecutado el comando anterior que nos corresponda exitosamente 
y sin errores, entonces deberíamos poder tener acceso al listado de los 
archivos remotos, espejados dentro del punto de montaje local 
/mnt/discoevita. Podremos comprobarlo con los comandos de organización:

cd /mnt/discoevita 
ls

También podríamos revisar que el sistema de archivos remoto aparezca en 
la tabla de nuestro propio sistema de archivos. Para ello ejecutaremos 
el comando:

df -hT

...y nuestra terminal debería devolvernos un resumen de los componentes 
de su sistema de archivo, que debe incluir la carpeta remota, de una 
forma similar al siguiente:


S.ficheros     Tipo     Tamaño Usados  Disp Uso% Montado en
udev           devtmpfs   1,9G      0  1,9G   0% /dev
tmpfs          tmpfs      388M   6,4M  382M   2% /run
/dev/sda1      ext4       233G   144G   78G  65% /
tmpfs          tmpfs      2,0G    32M  2,0G   2% /dev/shm
tmpfs          tmpfs      5,3M   4,1k  5,3M   1% /run/lock
tmpfs          tmpfs      2,0G      0  2,0G   0% /sys/fs/cgroup
tmpfs          tmpfs      388M    62k  388M   1% /run/user/1000
evita@192.168.0.102:/home/evita fuse.sshfs  324G   55G  253G  18% 
/mnt/discoevita

Con esto sería suficiente para un trabajo temporal, hasta que el 
servidor o el cliente se reinicien.

Si deseamos montar el sistema de archivos de forma permanente, para que 
toda vez que encendamos el sistema se realice el montaje 
automáticamente, debemos editar editar el archivo de configuración del 
sistema de archivos, el cual es /etc/fstab. Para ello emplearemos el 
editor de texto GNU Nano, ingresando el siguiente comando:

sudo nano /etc/fstab

...se abrirá el editor y cargará el fichero de configuración, que ya 
debería contener información. No debemos modificar nada de lo que ya 
existe. Debemos ir al final del archivo y agregarle una línea similar a 
la siguiente:

sshfs#usuario@192.168.0.102:/home/evita/ /mnt/discoevita fuse.sshfs 
defaults 0 0

...y grabamos el archivo (ctrl+o) y salimos del editor (ctrl+x).

Debemos asegurarnos de que hemos configurado el Alta sin Contraseña 
entre servidores para automontar el sistema de archivos durante los 
reinicio del sistema (de lo contrario, siempre al iniciar el sistema nos 
solicitará la contraseña del usuario remoto SSH previo al automontaje de 
su carpeta).

En cambio, si el servidor estuviese configurado con una autorización 
basada en llave SSH, entonces debemos agregar al archivo /etc/fstab la 
siguiente línea:

sshfs#usuario@192.168.0.102:/home/evita/ /mnt/discoevita fuse.sshfs 
IdentityFile=~/.ssh/id_rsa defaults 0 0

A continuación necesitaremos actualizar la tabla de sistemas de archivos 
para hacer efectivos los cambios realizados. Ello lo haremos efectivo 
con:

sudo mount -a

...entonces se automontará el disco a través de SSH toda vez que 
encendamos el sistema.

Para desmontar el sistema de archivos remoto desde la terminal 
ingresamos el siguiente Comando de Organización:

umount /mnt/discoevita