Voy al grano. Así es como lo hice yo. (Se puede hacer de varias formas, pero esta es la que mejor me funcionó).
Dropbear es el servidor ssh que lleva openwrt.
Para no tener que estar poninedo contraseña cada vez que hacemos login por ssh, lo cual, si tenemos una buena contraseña es un rollo, y si tenemos una mala es inseguro, se puede usar esta opción de autenticación por clave privada y pública, para entrar automáticamente con el putty sin poner contraseña.
Metafóricamente, las claves pública y privada son como una especie de "cerradura" y "llave". El router openwrt llevará una clave pública (cerradura) y nuestro PC con putty, llevará una clave privada (llave que sólo deben tener quienes puedan entrar).
Así es como lo hice, siguiendo un par de tutoriales y solucionando un par de problemillas que me encontré por el camino:
1) Entré por ssh a open.
2) Instalé el programa ssh-keygen con
opkg update && opkg install ssh-keygen
ya que no venía por defecto.
3) Generé un par de claves pública y privada (cerradura y llave) con el comando:
sshkeygen -t dsa
4) Me copié la clave privada a mi ordenador, usando el
WINSCP5) Borré la clave privada de open, ya que no tiene sentido "dejar la llave al lado de la cerradura", ¿verdad?.
6) Añadí la clave pública al archivo "/etc/dropbear/authorized_keys" así:
cat id_*.pub >> /etc/dropbear/authorized_keys
rm ./id_*.pub
7) Le puse los permisos adecuados para que sólo root pudiera ver y escribir ese archivo:
chmod 600 /etc/dropbear/authorized_keys
Ahora viene la parte de configuración de Putty:
Pero antes...
El putty es incompatible con la llave generada por ssh-keygen, así que hay que importarla para convertirla. Esto lo hace el programa puttygen, dándole a Load, o a Conversion Import key... y automáticamente la convierte. A la llave (clave privada) se le puede poner una contraseña para mayor seguridad; esto ya depende del nivel de paranoia de cada uno. Yo la dejé sin contraseña, porque busco más comodidad que seguridad, pero como ya digo, depende de cada uno. Ahora hay que darle a Save private key y ya la tenemos.En el putty, cattegory, connection, Data, Auto-login username, poner root
Luego, en Connection, SSH, Auth, A la derecha, Private key file for Authentication, Browse y seleccionamos el archivo llave (la clave privada) que hemos importado antes con el puttygen.
Ponemos los demás parámetros (Ip, ssh, puerto), grabamos la sesión para no tener que volver a configurarlo todo otra vez cada vez que queramos conectar y.... listo.
También se puede generar las claves desde el puttygen, pero a mí luego me dieron problemas cuando las copié a open, por el rollo del carácter de fin de línea de windows, que es distinto al de linux, y me salían los dichosos ^M al final de cada línea de las claves. Por eso decidí hacerlo en open y luego pasarlas e importarlas con el puttygen, que al revés. Y me funcionó a la primera.