Estou tentando atualizar meu servidor ssh de chaves RSA de 2048 bits para chaves maiores, pois as recomendações são eliminar as chaves de 2048 bits em breve.
Eu gerei uma nova chave e a adicionei à configuração do sshd, assim:
HostKey / etc / ssh / ssh_host_rsa_key (chave antiga de 2k bits primeiro) HostKey / etc / ssh / ssh_host_rsa4096_key (nova chave maior 2ª )
Depois de reiniciar sshd
, eu ssh'd para o host, não recebo o aviso de identificação alterada, no entanto, o novo também não é armazenado em cache ~/.ssh/known_hosts
. Se eu colocar as linhas na ordem oposta, recebo o aviso de identificação alterada. Da mesma forma, quando adiciono uma chave ed25519, independentemente da ordem em que for inserida, o cliente não adiciona a nova chave ao arquivo de hosts conhecidos.
Isso parece tornar impossível a substituição de chaves do host SSH - é difícil acreditar que esse seja realmente o caso, considerando que a segurança exige rotineiramente a atualização de chaves.
Eu sei que você pode simplesmente trocar a chave e, em seguida, todo cliente precisa executar ssh-keygen -R
para remover a chave antiga, verificar e aceitar manualmente a nova chave - mas isso é uma dor real, especialmente se você tiver muitos clientes se conectando ou não administrar todos os clientes. Sem mencionar, se você não administrar os clientes, há uma chance muito boa de que eles não verifiquem a chave do host e, em vez disso, apenas pressione Y - então a tentativa de melhorar a segurança provavelmente o abrirá para o homem ataques intermediários.
Existe alguma maneira de fazer as atualizações de chave do host SSH funcionarem? Ou seja, os clientes devem aprender a nova chave mais segura (e também desaprender a chave obsoleta). E, sem dar a chave do host, mudou o aviso do homem no meio.
Respostas:
A rotação da chave do host é suportada desde o OpenSSH 6.8 (o cliente e o servidor adicionam suporte nesta versão).
Portanto, o processo deve funcionar assim:
HostKey newkey
(depois das existentes) ao/etc/ssh/sshd_config
sshd
UpdateHostKeys yes
sua configuração (globalmente ou por host)sshd_config
e reiniciarsshd
Os novos clientes suficientes poderão pegar as novas chaves. Esse recurso não está ativado por padrão, provavelmente porque é novo e logo mostrou alguma consideração de segurança. Mas hoje em dia deve ser bom usá-lo.
fonte
O sshd sempre usa a primeira linha, exclua-a e reinicie o sshd.
fonte