Introducción

Hoxe atopeime na necesidade de acceder aos ficheiros da Raspberry, pero ocorre que non teño configurado nin o acceso FTP, nin o acceso SFTP. Así que aproveito a ocasión para explicar cómo, aproveitando que xa teño configurado o SSH, podemos acceder aos ficheiros.
Neste caso vou a utilizar SSHFS, unha ferramenta que utiliza esta vía para acceder aos ficheiros de xeito seguro. Ao contrario que co protocolo FTP, tanto SFTP como SSHFS ofrecen cifrado.
Pero mentres tería que activar SFTP na Raspberry, con SSHFS podo utilizar o protocolo xa configurado de SSH para acceder.
Hai que lembrar que o propio instalador de Raspberry Pi OS, configurou o SSH. Isto podémolo ver no artigo de cómo instalar Raspberry Pi OS

No artigo anterior o instalador xa copiou a miña clave pública RSA na Raspberry e desactivou o acceso por contrasinal. Deste xeito melloramos a seguridade á hora de acceder de xeito remoto.
Alguén podería averiguar o noso contrasinal e acceder no caso de non desactivalo. Ao utilizar un sistema de claves é moito máis complicado que alguén acceda sen permiso, xa que para isto precisaría a nosa clave privada. A esta clave, cando se crea, tamén se lle pode asignar un contrasinal. Con isto aínda que alguén conseguise a nosa clave privada, todavía precisaría do contrasinal para utilizala.

Compre ter en conta que hai que evitar expor as nosas claves ante terceiras persoas e que estaría ben ter unha política de cambio de contrasinais de xeito periódico.

Instalación

Polo que puiden ver, a maioría das distribucións xa teñen SSHFS nos repositorios. Así que para instalalo en Debian, só teño que executar sudo apt install sshfs. Isto fagoo dende o equipo que quero que acceda, non na Raspberry que sería o destino.

$ sudo apt install sshfs
Lendo as listas de paquetes... Feito
Construindo a árbore de dependencias... Feito
Lendo a información do estado... Feito       
sshfs is already the newest version (3.7.3-1.1).
sshfs cambiado a instalado manualmente.
0 anovados, 0 instalados, Vanse retirar 0 e deixar 0 sen anovar.

Neste caso incluso ven instalado por defecto.

Accedendo de xeito remoto aos ficheiros na Raspberry

Antes de acceder vou preparar o necesario para non ter que precisar permisos de sudo. O uso de SSHFS é semellante a mount, o que fai e montar a unidade remota no noso equipo.
Se quixese utilizar /mnt precisaría permisos de root para acceder a ese cartafol. Así que o que fago é crearme unha carpeta mnt no meu directorio home, con mkdir ~/mnt.

NOTA: Compre aclarar que o símbolo ~ equivale a /home/usuario. Se xa estivésemos na nosa home non sería necesario por o símbolo.

Unha vez feito isto executo sshfs usuario@raspberry.local:/home/usuario ~/mnt -C. Imos desglosar un pouco este comando para entendelo mellor:

  • sshfs: o comando a executar.
  • usuario@raspberry.local: o usuario remoto co que queremos conectar. @ que sería algo así como accede a. raspberry.local que sería o enderezo ao que queremos acceder. Este fragmento polo tanto viría a ser algo como usuario accede a raspberry.local.
  • :/home/usuario: estamos a indicarlle que queremos acceder ao cartafol persoal de usuario. Poderíamos por calquer outra ruta á que o usuario teña acceso.
  • ~/mnt: indica ónde queremos montar a unidade de rede. Neste caso na carpeta mnt que creei antes na miña home.
  • -C: habilita a compresión.

Agora se imos ao noso navegador de ficheiros, no meu caso Dolphin, veremos que temos unha nova unidade de rede que apunta directamente ao cartafol que indicamos.

Outro exemplo de conexión seguindo o anterior, podería ser sshfs -o ro usuario@raspberry.local:/home/usuario/Documents ~/mnt -C -p 2222. Neste caso as variacións son as seguintes:

  • -o ro: con -o indicamos que o que ven a continuación son opcións e con ro indicamos que queremos que o cartafol de Documents se monte como só lectura readonly.
  • -p 2222: aquí estamos a dicir que queremos que se utilice o porto 2222, en lugar do porto por defecto. Isto sería no caso de que na configuración de ssh houbésemos mudado o porto.

Pechando a conexión

Unha vez finalizado o que precisamos podemos pechar a conexión con fusermount3. fusermount3 -u ~/mnt.

  • Fusermount3: serve para montar e desmontar sistemas de ficheiro tipo FUSE.
  • -u: indicámoslle ao comando que ten que desmontar.

É moi importante pechar as conexións que teñamos abertas, por motivos de seguridade. Se a deixásemos conectada alguén podería utilizar o noso equipo para acceder a ese sistema remoto, o cal sería unha vulnerabilidade por erro humán. Nos últimos anos, por exemplo, houbo varios incidentes relacionados con Ransomware, ataques que cifran os nosos datos a modo de extorsión. Polo que ao desmontar as unidades que non esteamos a utilizar reduce o risco de que isto poida ocorrer nesa localización.

Conclusión

SSHFS ofrece un xeito rápido de acceder de forma remota ao sistema de ficheiros, para transferir arquivos entre equipos, aproveitando o protocolo SSH.

Referencias

https://wiki.archlinux.org/title/SSHFS