Eu tenho um servidor (executando openssh 8.1p1-2) com sshd_config configurado assim para aceitar apenas chaves ed25519:
PubkeyAcceptedKeyTypes [email protected],ssh-ed25519
Isso funciona muito bem para nossa equipe. Todos nós usamos apenas chaves ed25519. E a diretiva está funcionando corretamente porque outros tipos de chave são rejeitados.
No entanto, agora tenho a necessidade de permitir temporariamente que uma pessoa se conecte que só possa usar um tipo de chave rsa (por política que eles não podem controlar).
Fiz a seguinte alteração:
PubkeyAcceptedKeyTypes ssh-rsa,[email protected],[email protected],ssh-ed25519
... e reiniciei o sshd:
systemctl restart sshd
De acordo com systemctl status sshd
, o status do sshd é livre de erros. No entanto, quando essa pessoa tenta se conectar, os logs do servidor mostram:
sshd[12345]: userauth_pubkey: key type ssh-rsa not in PubkeyAcceptedKeyTypes [preauth]
O erro no lado do cliente é simplesmente:
No more authentication methods to try. user@ip: Permission denied (publickey).
Não entendo o problema porque ssh-rsa
está no PubkeyAcceptedKeyTypes. o que estou perdendo?
Acabei de me deparar com esse problema... Eu precisava adicionar o tipo de chave rsa-sha2-512 em vez de ssh-rsa. (Há também um rsa-sha2-256, que eu não precisava).
Estou usando OpenSSH_8.2p1 no Arch.
Eu apenas lutei com isso por muito tempo esta manhã em uma caixa Oracle Linux.
Se você estiver executando na mesma ou em qualquer outra distribuição baseada em RedHat, verifique se suas
sshd_config
configurações não estão sendo substituídas por aquelas das políticas de criptografia padrão do sistema. Consulte as páginas man paraupdate-crypto-policies
ecrypto-policies
para obter detalhes./etc/crypto-policies/back-ends/opensshserver.config
deve mostrar as configurações que estão sendo aplicadas pela política para o servidor OpenSSH.