Como posso adicionar uma chave de host ao known_hosts
arquivo SSH com segurança?
Estou configurando uma máquina de desenvolvimento e quero (p.ex.) evitar o git
prompt ao clonar um repositório github.com
usando SSH.
Eu sei que posso usar StrictHostKeyChecking=no
(por exemplo , esta resposta ), mas isso não é seguro.
Até agora, encontrei...
O GitHub publica suas impressões digitais de chave SSH nas impressões digitais de chave SSH do GitHub
Eu posso usar
ssh-keyscan
para obter a chave do host para arquivosgithub.com
.
Como combino esses fatos? Dada uma lista pré-preenchida de impressões digitais, como verifico se a saída de ssh-keyscan
pode ser adicionada ao known_hosts
arquivo?
Acho que estou perguntando o seguinte:
Como obtenho a impressão digital de uma chave retornada por ssh-keyscan
?
Vamos supor que eu já tenha sido MITM-ed para SSH, mas que posso confiar na página HTTPS do GitHub (porque ela tem uma cadeia de certificados válida).
Isso significa que tenho algumas chaves de host SSH (suspeitas) (de ssh-keyscan
) e algumas impressões digitais de chaves (confiáveis). Como verifico um contra o outro?
Relacionado: como faço o hash da parte do host da saída de ssh-keyscan
? Ou posso misturar hosts com hash/sem hash em known_hosts
?