
Estou recebendo chaves diferentes toda vez que executo o ssh-keyscan -H some.hostname.example
. Por que é que? O servidor está mudando continuamente de chave?
As chaves que estou recebendo em uma execução parecem funcionar mesmo após uma execução subsequente, porque não estou recebendo nenhum aviso quando entro ssh
no servidor, mesmo tendo salvo um conjunto de chaves em ~/.ssh/known_hosts
.
Editar: me enganei, as chaves não mudam, porém a primeira coluna (com o nome do host) muda. Está no formulário |1|<something base64>|<something else base64>
. Não tenho certeza do que está codificado em base64, mas parece ser binário.
Responder1
A parte do nome do host está com hash. o mesmo nome/ip pode ter hashes diferentes (lembre-se, você usou ssh-keycheck -H). Portanto, este é um comportamento normal.
Responder2
A resposta aquihttps://security.stackexchange.com/questions/56268/ssh-benefits-of-using-hashed-known-hostsexplica em detalhes como o hash é feito.
A essência disso é que ele inclui um "sal" (dados adicionais aleatórios), para não ter o mesmo hash e facilitar o pré-cálculo dos hashes para muitos textos de entrada. O salt é aleatório, mas mostrado, não hash em si.