No RHEL 8 e anteriores, é comum que as chaves do host SSH /etc/ssh
sejam geradas automaticamente pelo sshd
serviço quando ausentes. Normalmente deve haver:
/etc/ssh/ssh_host_ecdsa_key
/etc/ssh/ssh_host_ecdsa_key.pub
/etc/ssh/ssh_host_ed25519_key
/etc/ssh/ssh_host_ed25519_key.pub
/etc/ssh/ssh_host_rsa_key
/etc/ssh/ssh_host_rsa_key.pub
A reinicialização do nó ou mesmo systemctl restart sshd
deve ser suficiente.
Mas, a partir da versão secundária RHEL 8.7, isso pode não funcionar mais e as sshd
falhas reclamam da falta de chaves do host no log do diário. Por quê? Como posso resolver isso?
O
sshd
serviço por padrão chamasshd-keygen.target
, que verifica a disponibilidade das chaves do host no/etc/ssh
diretório e as gera quando ausentes.No entanto, essa funcionalidade bem conhecida pode ser bloqueada pela nova versão do
cloud-init
. A partir decloud-init-22.1-5.el8.noarch
há novo arquivo:com conteúdo:
Então, quando você usa o
cloud-init
você tem 2 opções agora:ssh-keygen -A
(consulte Como alterar uma chave de host SSH? para obter mais detalhes e opções.Basta colocar o
#
sinal antesConditionPathExists...
Em seguida, recarregue a configuração do systemd com
systemctl daemon-reload
. O comportamento normal deve estar funcionando novamente.