Compartir archivos mediante SFTP y SSHFS con tu Raspberry Pi

Este es uno de los capítulos del tutorial La Raspberry Pi. Primera primeros pasos.. Encontrarás los enlaces a todos los de capítulos, al final de este artículo.

En artículos anteriores, hemos instalado un par de servicios para compartir archivos en nuestra red. Me refiero en particular a NFS y Samba. En el artículo de hoy vamos a ver otras dos opciones para compartir archivos, accediendo de forma remota a nuestra Raspberry Pi, sin la necesidad de instalar ningún servicio, simplemente trabajando sobre SSH. En particular me refiero a compartir archivos mediante SFTP y SSHFS.

Como de viene siendo habitual en esta serie de artículos, indicarte que el uso de una u otra tecnología a la hora de compartir archivos dependerá del sistema operativo del dispositivo que utilices. Desde luego, si utilizas cualquier distribución Linux, ten por seguro que vas a poder utilizar cualquiera de los dos protocolos. Esto, como verás, te abrirá todo un mundo de posibilidades.

Por otro lado, además de las prestaciones que te ofrece cada uno de los servicios, debes tener en cuenta las medidas de seguridad necesarias. Me refiero a que si bien, NFS es, sin duda, el más rápido, hay que tener en cuenta que no está cifrado. Desde el punto de vista de la velocidad tanto SFTP como SSHFS son los mas lentos, sin embargo, desde el punto de vista de la seguridad, son los mas confiables.

Resumiendo, que además de elegir el medio de comunicarte, en función de tus otros interlocutores, también debes tener en cuenta el lugar donde lo haces.

Dicho esto, vamos a ver como compartir archivos mediante SFTP y SSHFS.

Compartir archivos mediante SFTP y SSHFS con tu Raspberry Pi. Portada.

Compartir archivos mediante SFTP y SSHFS

Como de costumbre, indicar que esta serie de artículos están dirigidos a usuarios de distribuciones Linux. Si, por cualquier extraña razón, no te encuentras en el lado de la fuerza, piensa seriamente en dar el paso hacia una vida mejor, y deja las malas compañías.

SFTP

SFTP es un protocolo que proporciona acceso a archivos, transferencia y gestión de archivos vía SSH. Es decir, que añade la característica de FTP a SSH. Sus siglas significan, como te puedes imaginar, SSH File Transfer Protocol. Sólo utiliza un canal de comunicación, enviando y recibiendo la información en binario, no en modo de texto.

Utilizando este protocolo, puedes modificar, editar y navegar entre todos los archivos que se encuentren en la Raspberry Pi de una forma muy sencilla. Es tan sencillo de utilizar como FTP, y la ventaja es que como Raspbian tiene habilitado por defecto SSH, no necesitas realizar ninguna acción adicional para utilizarlo.

Uso desde nuestro equipo

Desde el explorador de archivos

Si utilizas como entorno de escritorio, GNOME, MATE o Cinnamon, la solución es muy sencilla. Y digo que es muy sencilla, puesto que puedes acceder desde el propio explorador de archivos Nautilus, Caja o Nemo respectivamente.

En mi caso, que utilizo GNOME, los pasos son los que te voy a mostrar a continuación. Indicarte que tanto en MATE como en Cinnamon, los pasos son exactamente los mismos.

  • Abre Nautilus (Nemo o Caja) en tu equipo
  • Selecciona en el panel derecho la opción Otras ubicaciones

Compartir archivos mediante SFTP y SSHFS con tu Raspberry Pi. Otros origenes.

  • Una vez seleccionado Otras ubicaciones, puedes introducir la dirección del servidor, por ejemplo,

Compartir archivos mediante SFTP y SSHFS con tu Raspberry Pi. Insertar dirección.

sftp://pi@192.168.1.48/

donde,

  • pi es el nombre de nuestro usuario
  • 192.168.1.48 es la dirección IP de nuestra Raspberry Pi

Y al pulsar el botón Conectar apareceremos en el interior de la Raspberry Pi.

Compartir archivos mediante SFTP y SSHFS con tu Raspberry Pi. Dentro de la Raspberry.

Desde un cliente FTP específico como es Filezilla

En otro caso, también puedes utilizar Filezilla, que es un cliente FTP realmente sencillo de utilizar. Al ser multiplataforma está disponible para cualquier distribución GNU/Linux, así como para otros sistemas operativos como Windows o MacOSX.

En este caso, tal y como puedes ver en la siguiente captura de pantalla, es necesario que indiques el servidor, precedido por supuesto del protocolo, el nombre de usuario y la contraseña. En caso de que no utilices el puerto estándar, también deberás indicarlo.

Compartir archivos mediante SFTP y SSHFS con tu Raspberry Pi. Filezilla.

SSHFS

SSHFS permite montar un sistema de archivos remoto utilizando el protocolo SFTP. Se trata de un protocolo que la mayoría de los servidores SSH soportan, y tiene la ventaja de que trabajas en el sistema de archivos de la Raspberry Pi como si fuera un directorio local.

Uso desde nuestro equipo

El uso desde nuestro equipo puede parecer algo mas complejo que en el caso de sftp, pero una vez instalado y preparado finalmente es mas sencillo. Con todo y con eso, recuerda que hay medios mas eficaces para la transmisión de archivos, pero la ventaja de estos es la seguridad.

Así, lo primero que tendremos que hacer en nuestro ordenador es instalar sshfs, para ello, ejecutamos la siguiente orden en un emulador de terminal,

sudo apt install sshfs

Una vez instalado, lo primero es crear un directorio donde montaremos el directorio de la Raspberry. Posteriormente tenemos que ejecutar la siguiente orden para entrar en nuestro directorio de inicio en la Raspberry Pi como si fuera un directorio de nuestro ordenador.

sshfs pi@192.168.1.48: directorio_local

Para montar el directorio no es necesario permisos de administrador, pero sin embargo, para desmontarlo si que lo es. Así, para desmontar el directorio, ejecutaremos la siguiente orden,

sudo umount directorio_local

Tienes que tener en cuanta que tanto para montar como para desmontar el directorio directorio_localdebes estar en el directorio padre de este.

Como te puedes imaginar, si esto lo tienes que hacer en cada ocasión, pierde la gracia. Sin embargo, SSHFS permite realizar puntos de montaje permanentes a sistemas de archivo remoto. Para configurar este este punto de montaje permanente tendrás que editar el archivo /etc/fstab en tu ordenador. De esta forma cada vez que si inicie tu equipo se montará el directorio de la Raspberry en tu directorio local.

Vamos a editar /etc/fstab. Para ello, ejecutaremos la siguiente orden,

sudo nano /etc/fstab

En el archivo /etc/fstab, añadiremos la siguiente línea al final del mismo,

pi@192.168.1.48:/srv/sshfs/share /mnt/sshfs  fuse.sshfs  defaults,_netdev  0  0

Conclusiones

Como puedes, y a pesar de pequeña complicación que puede conllevar montar un directorio vía sshfs, cualquiera de las dos soluciones es relativamente sencilla. Cualquiera de las dos soluciones nos puede facilitar sensiblemente el acceso al sistema de archivos como si fuera un directorio local. De esta forma cualquier operación que queramos realizar en nuestra Raspberry Pi, será exactamente igual a realizarlo de forma local en nuestro propio ordenador.


Más información,

5 comentarios en “Compartir archivos mediante SFTP y SSHFS con tu Raspberry Pi

  1. JU
    Julio hace 7 años

    Hola hay otra pegita con lo de montar en el fichero /fstab y es la contraseña de autenticación, que supongo hay que cambiar claves públicas para que no se necesite escribir password.

    Un saludo,

    1. EL
      El atareao hace 7 años

      Hola Julio,
      Si eso es cierto, pero parto de que debemos tener claves públicas. El uso de contraseña me parece un atraso absoluto.
      Un saludo y gracias por tu comentario.

      1. JO
        John Smith hace 7 años

        Pero que clave pública se usa? la de que usuario?

  2. XA
    Xavi Monllau hace 7 años

    En la linea que añadimos a fstab el directorio /srv/sshfs/share es el que compartimos de la raspberry-pi?

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *