Qual é o SHA256 que vem na entrada sshd no auth.log?


19

Ao efetuar login via ssh, pode ser visto o seguinte no auth.log:

Dec 14 16:29:30 app sshd[22781]: Accepted publickey for dev from XXX.XXX.XX.XXX port XXXXX ssh2: RSA SHA256:pO8i...

Eu tenho tentado descobrir o que são essas informações do SHA256, mas não consegui encontrar nada que pareça corresponder. Primeiro, pensei que poderia haver algumas informações do cliente (chave pública, impressão digital, nome do host com hash etc.) de onde estou me conectando, mas não encontrei nada para confirmar, nem no lado do servidor.

As informações mais próximas que encontrei estão aqui , mas não entendi quando diz "E aqui está um exemplo usando uma chave para autenticação. Ele mostra a impressão digital kewy (um erro de ortografia, provavelmente) como um hash SHA256 na base64". , pois não encontrei nenhum tipo de impressão digital chave correspondente.

Obrigado.

Respostas:


27

Este é o SHA256hash da chave pública RSA que foi usada para autenticar a sessão SSH.

É assim que verificá-lo:

ssh-keygen -lf .ssh/id_rsa.pub

Ou, para verificar sem ssh-keygen:

  • Remova o ssh-rsaprefixo
  • Decodifique a chave em bytes usando base64
  • Obter o SHA256hash da chave (como bytes, não hexadecimal)
  • Codifique os bytes usando base64

Por exemplo:

cat .ssh/id_rsa.pub    |
    awk '{ print $2 }' | # Only the actual key data without prefix or comments
    base64 -d          | # decode as base64
    sha256sum          | # SHA256 hash (returns hex)
    awk '{ print $1 }' | # only the hex data
    xxd -r -p          | # hex to bytes
    base64               # encode as base64

11
Acontece que você pode usarssh-keygen -lf .ssh/id_rsa.pub
Joshua Griffiths

2
Penso que o seu comentário é uma resposta melhor, separada e completa, que você deve adicionar separadamente.
Hugh W

1
+1 para adicionar ssh-keygen -lf .ssh/id_rsa.pubcomo uma resposta separada. É melhor do que a codificação manual.
Ilya Bobyr 11/01/19

2

Teve a mesma pergunta no macOS 10.13.6, onde sua resposta só precisava de alguns ajustes:

cat .ssh/id_rsa.pub    |
    awk '{ print $2 }' | # Only the actual key data without prefix or comments
    base64 -D          | # decode as base64
    shasum -a 256      | # SHA256 hash (returns hex)
    awk '{ print $1 }' | # only the hex data
    xxd -r -p          | # hex to bytes
    base64               # encode as base64

Muito obrigado.

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.