Inicio de sesión SSH basado en clave pública sin contraseña en un enrutador con firmware Asus Merlin

Inicio de sesión SSH basado en clave pública sin contraseña en un enrutador con firmware Asus Merlin

Estoy intentando habilitar el inicio de sesión SSH sin contraseña en mi enrutador doméstico ASUS RT-AC68U que ejecuta la versión 384.4_2 deFirmware Asuswrt-Merlin(el más reciente al momento de publicar esto). Habiendo leído muchas publicaciones y procedimientos (incluidosÉste), todavía no puedo hacerlo funcionar.

Utilizo PUTTYGEN para generar un par de claves RSA-2048, guardo la clave pública en ~/.ssh/authorized_keysel enrutador y luego intento conectarme con PUTTY, que he limitado solo a RSA. Mientras PUTTY negocia el cifrado de la sesión, solicita aceptar la clave pública proporcionada por el servidor.Espero que sea mi clave, ~/.ssh/authorized_keyspero en lugar de eso siempre veo la clave pública del dropbear (desde /etc/dropbear/dropbear_rsa_host_key).Sé que es ese al ejecutar dropbearkey -y -f /etc/dropbear/dropbear_rsa_host_key.

El permiso para ~/.sshla carpeta está establecido en 700, ~/.ssh/authorized_keyspara 600. La clave se guarda a través de la interfaz de usuario web del enrutador en el formato correcto (es decir ssh-rsa AAAA...5iYw== rsa-key-20180401, sin saltos de línea). Probé ambos rooty admincomo usuario SSH. También probé todo desde cero, después de restablecer el enrutador a la configuración de fábrica, con el mismo resultado.

¿Hay algo que me falta? En este punto, creo que mi única opción sería extraer la clave privada de dropbear /etc/dropbear/dropbear_rsa_host_keyy usarla en lugar de generar la mía propia.

Respuesta1

Pon tu clave pública/etc/dropbear/authorized_keys

editar:

Originalmente pensé que dropbear no estaba leyendo ~/.sshaunque debería hacerlo, así que señalé el directorio predeterminado /etc/dropbear/. authorized_keysno está ahí de forma predeterminada, por lo que no es tan obvio.

Al releer la pregunta, me di cuenta de que estabas confundiendo los pares de claves del host con los pares de claves de inicio de sesión.

debe aceptar el par de claves del host del enrutador ( /etc/dropbear/dropbear_rsa_host_key) y colocar su clave pública en el enrutador en el authorized_keysarchivo de cualquier ubicación y estará listo para comenzar.

Respuesta2

Falta un dato muy importante en la publicación anterior sobre tuberculosis. Para que ssh funcione en ausus merlin 386.3_2 y probablemente en otras versiones, "hay que habilitar la partición Jiffs en el enrutador. Solo habilité Jiffs pero no lo formateé porque ya hay archivos de configuración, etc., y podrían convertirse en otro dolor de cabeza si eliminado.

Habilite la partición Jiffs desde asus merlin wui, debe estar encima del campo ssh bajo administración.

Siéntete libre de publicar esta pequeña información... es como si faltara sintaxis en algún complicado procedimiento...

información relacionada