Login SSH baseado em chave pública sem senha no roteador com firmware Asus Merlin

Login SSH baseado em chave pública sem senha no roteador com firmware Asus Merlin

Estou tentando ativar o login SSH sem senha em meu roteador doméstico ASUS RT-AC68U que executa a versão 384.4_2 doFirmware Asuswrt-Merlin(o mais recente no momento da postagem). Depois de ler muitas postagens e instruções (incluindoEste), ainda não consigo fazê-lo funcionar.

Eu uso o PUTTYGEN para gerar um par de chaves RSA-2048, salvo a chave pública no ~/.ssh/authorized_keysroteador e tento conectar-me ao PUTTY, que limitei apenas ao RSA. À medida que o PUTTY negocia a criptografia da sessão, ele solicita a aceitação da chave pública fornecida pelo servidor.Espero que seja minha chave, ~/.ssh/authorized_keysmas em vez disso estou sempre vendo a própria chave pública do dropbear (de /etc/dropbear/dropbear_rsa_host_key).Eu sei que é esse correndo dropbearkey -y -f /etc/dropbear/dropbear_rsa_host_key.

A permissão para ~/.ssha pasta está definida como 700, ~/.ssh/authorized_keyspara 600. A chave é salva através da interface Web do roteador no formato correto (ou seja, ssh-rsa AAAA...5iYw== rsa-key-20180401sem quebras de linha). Eu tentei ambos roote admincomo usuário SSH. Também tentei tudo do zero, após redefinir o roteador para as configurações de fábrica, com o mesmo resultado.

Há alguma coisa que estou perdendo? Neste ponto, acho que minha única opção seria extrair a chave privada do dropbear /etc/dropbear/dropbear_rsa_host_keye usá-la em vez de gerar a minha própria.

Responder1

Coloque sua chave pública/etc/dropbear/authorized_keys

editar:

Originalmente, pensei que o dropbear não estava lendo, ~/.sshembora deveria, então apontei o diretório padrão /etc/dropbear/. authorized_keysnão está lá por padrão, então não é tão óbvio.

relendo a pergunta, percebi que você estava confundindo pares de chaves de host com pares de chaves de login.

você precisa aceitar o par de chaves do host do roteador ( /etc/dropbear/dropbear_rsa_host_key) e colocar sua chave pública no roteador em qualquer authorized_keysarquivo de local e você estará pronto para prosseguir.

Responder2

Há uma informação muito importante faltando na postagem sobre TB acima. Para fazer o ssh funcionar no ausus merlin 386.3_2 e provavelmente em outras versões "É preciso habilitar a partição Jiffs no roteador. Eu apenas habilitei o Jiffs, mas não o formatei porque já existem arquivos de configuração, etc., e eles podem se tornar outra dor de cabeça se excluído.

Habilite a partição Jiffs no asus merlin wui, deve estar acima do campo ssh sob administração.

Sinta-se à vontade para postar esta pequena informação. É como se faltasse sintaxe em algum procedimento complicado...

informação relacionada