Usando ssh fingerprint entre Raspberry Pi’s
Si queremos que varias Raspberry Pi interactuen entre ellas, por ejemplo para que ejecuten comandos remotos, lo más común será hacerlo mediante conexión remota de ssh. Si queremos omitir introducir los credenciales que nos obliga ssh al hacer una conexión remota, deberemos crear una confianza entre las mismas y no depender de dicha petición de validación.
Haremos un ejemplo para permitir acceso de la Raspberri Pi ‘A’ a la Raspberry Pi ‘B’.
[sourcecode]pi@A:~$ ssh-keygen -t rsa[/sourcecode]
Primero, crearemos las claves de autenticación, lo haremos sin passphrase, este fingerprint nos identificará mediante la huella digital única (fingerprint).
[sourcecode]pi@A:~$ ssh pi@B mkdir -p .ssh[/sourcecode]
Creamos el directorio .ssh si es que el servidor remoto no lo tiene creado.
[sourcecode]pi@A:~$ cat .ssh/id_rsa.pub | ssh pi@B ‘cat >> .ssh/authorized_keys’
pi@A:~$ sudo cat /root/.ssh/id_rsa.pub | ssh pi@B ‘cat >> .ssh/authorized_keys'[/sourcecode]
Por defecto ssh guarda su llave pública o fingerprint en el archivo id_rsa.pub, así que añadimos la clave publica de A a la lista de permitidos de la Raspberry Pi B. Os recomiendo igualmente copiar la clave pública desde nuestro root por si ejecutamos algún comando con ‘sudo’.
[sourcecode]pi@A:~$ ssh pi@B
pi@A:~$ ssh pi@B /home/pi/texto_a_voz.sh "Probando el altavoz de forma remota"[/sourcecode]
Y listo! Así de fácil, podremos probar a conectarnos con ssh, copiar ficheros o ejecutar cualquier comando!