Atualizei com sucesso um Debian 11 para Debian 12
Uma única coisa estranha está acontecendo
Eu tenho um conf para substituir algumas configurações
Desativei o login root
Movido para a porta 1122
Autenticação desabilitada usando senha
Autenticação habilitada usando chaves
root@localhost:/etc/ssh/ssh_config.d# cat /etc/ssh/sshd_config.d/realtebo.conf # Override from realtebo Port 1122 PermitRootLogin no PasswordAuthentication no PubkeyAuthentication yes
No momento eu
- deve usar a porta 1122
- não consigo logar usando root
- pode entrar usando senha
- não consigo fazer login usando pubkey
O que diabos está causando esses 2 comportamentos estranhos?
Eu já assegurei que o arquivo de configuração principal está incluindo o meu.
De qualquer forma, se eu alterar diretamente o arquivo de configuração principal [que eu quero evitar], o servidor não permite mais login usando senha, mas ainda recusa minha pubkey, e eu verifiquei ,. ainda está no authorized_keys
e também é minha chave de pub rsa que estou usando em todos os meus Debian 11.
O que mudou para OpenSSH no Debian 12?
No
/etc/ssh/sshd_config
arquivo principal, há um comentário:Se sua configuração não desativou
KbdInteractiveAuthentication
, ele permite que o PAM execute o equivalente à autenticação de senha por meio de um caminho de código ligeiramente diferente originalmente destinado a módulos de autenticação do tipo desafio/resposta... mas tecnicamente "exibir um prompt de senha" pode ser um desafio, e "digite uma senha válida" uma resposta válida para ela.A configuração padrão deve incluir um descomentado
KbdInteractiveAuthentication no
, mas tentepara verificar novamente se seu
sshd
arquivo de configuração principal atual realmente corresponde ao padrão.Além disso, observe que o comportamento padrão de
sshd
quando a autenticação de senha está desativada é ainda exibir um prompt de senha. Nessa situação, o prompt será completamente falso e seu único objetivo é fazer com que um intruso perca seu tempo tentando inutilmente adivinhar senhas. Portanto, se você vir um prompt de senha, isso não significa necessariamente que a autenticação de senha está realmente disponível.Se você acha que isso não é útil, você pode adicionar
AuthenticationMethods publickey
ao seurealtebo.conf
para pararsshd
de oferecer qualquer prompt de senha (nem falso nem real).A nova versão tem uma nova configuração PubkeyAcceptedAlgorithms padrão. É longo, mas mais notável no que não inclui (citado de
man sshd_config
):Notavelmente, os antigos modos de espera
ssh-rsa
essh-dss
, não estão mais lá por padrão. Você ainda pode adicioná-los se precisar e, no seu caso, adicionarssh-rsa
pode ajudar ... mas se for esse o caso, você realmente deve atualizar seu cliente SSH para uma versão que suporte osrsa-sha2-*
algoritmos de chave pública. Sua chave existente está boa, apenas o algoritmo em que ela é usada precisa de uma atualização.Então, você pode tentar adicionar duas configurações ao seu
/etc/ssh/sshd_config.d/realtebo.conf
:Se a autenticação de chave pública ainda não funcionar depois disso, use
journalctl -u ssh.service
para visualizar as mensagens registradas porsshd
para ver exatamente por que ela rejeitou sua chave pública.(Sim, o nome do serviço executado
sshd
é de fatossh.service
no Debian e derivados, e nãosshd.service
no RHEL/Fedora e seus derivados. Razões históricas. Tolice, mas é a vida.)Observe que você pode visualizar a
sshd
configuração efetiva executandosshd -T
. Se sua configuração incluir quaisquerMatch
condicionais, você pode adicionar-C keyword=value
opções de estilo para fornecer as informações necessárias para essas condições, para verificar como a correspondência das condições afeta a configuração efetiva em cada caso. Consulteman sshd
para mais detalhes.