O que é o SHA256 que vem na entrada sshd em auth.log?

4

Ao efetuar login via ssh, pode-se ver 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 é essa informação SHA256, mas não consegui encontrar nada que pareça corresponder. Primeiro, pensei que poderia ser alguma informação do cliente (chave pública, impressão digital, nome de host hash, etc) da qual estou me conectando, mas não encontrei nada para confirmar, nem no lado do servidor.

A informação mais próxima que encontrei é aqui , mas não entendi quando foi dito "E aqui está um exemplo usando uma chave para autenticação. Ela mostra a impressão digital kewy (um erro ortográfico, provavelmente) como um hash SHA256 em base64. ", já que não encontrei uma impressão digital de chave correspondente de qualquer tipo.

Obrigado.

    
por Márcio Jales 15.12.2017 / 13:02

2 respostas

11

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

Veja como verificar isso:

  • Remover o prefixo ssh-rsa
  • Decodifique a chave para bytes usando base64
  • Obtenha o hash SHA256 para a chave (como bytes, não hex)
  • 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
    
por 15.12.2017 / 14:51
1

Tive a mesma pergunta no macOS 10.13.6, em que sua resposta precisou 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

Obrigado v. muito.

    
por 01.08.2018 / 16:03

Tags