Adiciona com segurança host (por exemplo, github) ao arquivo SSH known_hosts?

5

Como posso adicionar uma chave de host ao arquivo SSH known_hosts com segurança?

Estou configurando uma máquina de desenvolvimento e quero (por exemplo) evitar que git seja solicitado quando eu clonar um repositório de github.com usando SSH.

Eu sei que posso usar StrictHostKeyChecking=no (por exemplo, esta resposta ), mas isso não é seguro.

Até agora, descobri ...

  1. O Github publica as impressões digitais de chave SSH em link

  2. Eu posso usar ssh-keyscan para obter a chave do host para github.com .

Como eu combino esses fatos? Dada uma lista pré-preenchida de impressões digitais, como posso verificar se a saída de ssh-keyscan pode ser adicionada ao arquivo known_hosts ?

Acho que estou perguntando o seguinte:

Como faço para obter a impressão digital de uma chave retornada por ssh-keyscan ?

Vamos supor que eu já tenha sido MITM-ed para SSH, mas que eu possa 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 chave (confiáveis). Como faço para verificar um contra o outro?

Relacionado: como faço para hash a parte do host da saída de ssh-keyscan ? Ou posso misturar hosts hashed / unhashed em known_hosts ?

    
por Roger Lipscombe 16.06.2017 / 12:22

2 respostas

5

A maneira mais fácil é buscar manualmente as chaves usando ssh-keyscan , verificá-las manualmente:

$ ssh-keyscan -t rsa github.com | ssh-keygen -lf -
# github.com:22 SSH-2.0-libssh-0.7.0
2048 SHA256:nThbg6kXUpJWGl7E1IGOCspRomTxdCARLviKw6E5SY8 github.com (RSA)

E adicione-os ao seu script, que terá a chave pública "autoritativa".

    
por 16.06.2017 / 13:42
7

Você pode misturar entradas com hash / sem hash em seu arquivo known_hosts.

Então, se você quiser adicionar a chave do github, basta fazer:

ssh-keyscan github.com >> ~/.ssh/known_hosts

Se você quiser hash, adicione -H

ssh-keyscan -H github.com >> ~/.ssh/known_hosts

    
por 16.06.2017 / 12:32

Tags