How to set trusted ssh keys?

Hola, qué tal?
Me gustaría saber cómo generar e introducir las llaves ssh en el librerouter, para no tener que aceptar la conexión cada vez que conectamos la misma compu con cada nodo.

Gracias Muchas!!

Hello, how are you?
I would like to know how to generate and enter the ssh keys in the librerouter, so as not to have to accept the connection every time we connect the same computer with each node

Hola Pablo,
De tu pregunta no me queda claro si en lo que estas interesado es:

  1. evitar ingresar la contrase~na cada vez que ingresas por SSH a los routers a traves de instalar tu clave publica en un router con LibreMesh/LibreRouterOS
  2. evitar que, cada vez que te conectas por SSH a un router con LibreMesh/LibreRouterOS, te pregunte cada vez sobre la autenticidad del host.

Instalar tu clave publica en un router con LibreMesh/LibreRouterOS

Esta operacion no esta aun implementada de manera geek-free, por lo que hasta que esto suceda tendras que instalar tu clave publica manualmente.
Para hacer esto necesitas copiar tu clave publica SSH (usualmente ubicada en ~/.ssh/id_rsa.pub ) y agregarla al final del archivo /etc/dropbear/authorized_keys accediendo al router con su contrase~na.

Verificando la autenticidad del router

En el caso de la segunda pregunta, cuando tu cliente SSH se conecta a un servidor SSH, verifica la identidad del host al que te estas conectando. Esto se hace para evitar que otra computadora se haga pasar por el router y permita conocer la comunicacion que vos quieras tener con tu router.
Para evitar esto, tu cliente ssh mantiene una lista de host y clave, donde almacena las claves que vos previamente hayas validado.
Si te conectas a un nuevo host, te solicitara que verifique la identidad, un mensaje como

The authenticity of host 'thisnode.info (2a01:bf9:ab:1233::10)' can't be established.
ECDSA key fingerprint is SHA256:Qf76ggue8m57sDa72aCgzcqvEtPBJVmf5tXRt0Gkeu8.
Are you sure you want to continue connecting (yes/no/[fingerprint])? 

cuando se te muestra este mensaje, deberias verificar que el codigo que sigue a SHA256 sea el mismo que esta en el router por algun otro medio.

En general esto es dificil de hacer ya que no se puede acceder al router por otro medio que no sea por ssh, ya que este no cuenta con una interfaz de usuario propia… por lo que en general confiamos la primera vez que nos conectamos y luego usamos el archivo que nuestro cliente va construyendo para asegurarnos que nunca cambia. La primera vez que te conectas puede ser una buena idea hacerlo por cable, para evitar que pueda haber algun intermediario (si esto es algo que te preocupa).

En las redes de LibreRouters (y con LibreMesh/LibreRouterOS) hay un caso que es importante contemplar: todos los routers comparten dos informaciones en la red: un nombre de router compartido (thisnode.info) y una direccion IPv4 compartido (tipicamente 10.x.0.1, donde x puede variar dependiendo de tu red entre 0 y 255). Por lo que, cada vez que nos conectemos a traves de este numero compartido a un router distinto de la ultima vez que usamos este numero compartido, nuestro cliente SSH tratara de validar la clave que previamente estuvo asociado y fallara, ya que se refiere a distintas identidades. Este es un error esperado. Para evitar que esto suceda, podemos conectarnos:

  1. al nombre del router en vez del nombre compartido (casadepablo.thisnode.info en vez de thisnode.info), o
  2. al IPv4 del router en vez del del IPv4 compartido (10.x.y.z, en vez de 10.x.0.1, donde y y z fueron asignados al router cuando fue inicializado).
  3. Usando para acceder el IPv6 autoasignado (que no varia dentro de la red), o el IPv6 local (que se autodescubre usando ping6 (que lo explicare en otro post).

Hola Nico! muchas gracias!
Me refería a la segunda opción, aunque vino muy bien toda la respuesta.
Abrazos