Dejando a un lado los passwords.
Una opción muy interesante que tenemos a la hora de acceder a una máquina a través de SSH, ya sea una Raspberry Pi o no, es acceder a través de una clave ssh en vez de hacerlo a través de una contraseña. Esto es muy cómodo sobre todo si usamos la clave por defecto del sistema o lo configuramos a través de las configuración de las conexiones, ya que así no tenemos que andar introduciendo una y otra vez la contraseña cada vez que accedemos a la máquina.
También es algo muy útil a la hora de usar TRAMP en Emacs, ya que no nos pedirá el password cada cierto tiempo como suele hacer con conexión a través de password.
Generando el par de claves
Lo primero que necesitamos es tener una clave nuestra, si solemos usar GIT ya la deberíamos tener, si no podemos crearla de la siguiente manera.
ssh-keygen -b 4096 -t rsa
Copiando la clave pública en la Raspberry Pi
Existen formas manuales de copiar la clave pública dentro de un fichero de claves autorizadas dentro de las raspberry, pero por suerte tenemos un comando que se encarga de hacerlo todo, simplemente desde nuestro ordenador debemos ejecutar la siguiente orden:
ssh-copy-id pi@192.168.1.137
Habría que cambiar la IP por la de vuestra raspberry.
Esto lo que hará será coger nuestra clave pública por defecto y añadirla como clave en la raspberry como autorizada, para el usuario pi.
Una vez realizada la copia con el comando anterior podremos acceder sin introducir contraseña a nuestra raspberry pi (o cualquier servidor con SSH) como siempre, con
ssh pi@192.168.1.137
Usar cualquier clave para conectar
Si queremos usar otra clave para la conexión habría que especificarlo tanto a la hora de copiarla como a la hora de hacer login en el servidor.
ssh-copy-id -i ~/.ssh/miclave pi@192.168.1.137
ssh -i ~/.ssh/miclave pi@192.168.1.137