Como calcular a impressão digital da chave de implantação do GitLab a partir do par de chaves ssh

0

Ao visualizar Deploy Keys em uma configuração do repositório do GitLab, as chaves têm um "nome" e também algum tipo de impressão digital. A impressão digital é assim:

2b:be:a7:7f:44:64:89:8d:e3:f7:ea:3c:12:c9:e5:e7

Estou tentando descobrir qual dos meus pares de chaves ssh corresponde. Como faço para calcular essa string de um par de chaves ssh existente?

    
por rlandster 27.09.2018 / 17:25

1 resposta

0

As impressões digitais da chave SSH são simplesmente hashes de todo o bloco de chave pública (o grande AAAA...= blob no seu id_rsa.pub). Primeiro Base64 decodifique esse campo, calcule seu hash MD5 e imprima em hexadecimal.

Você pode calcular as impressões digitais manualmente ...

cat id_rsa.pub | awk '{print $2}' | base64 -d | md5sum

cat id_rsa.pub | awk '{print $2}' | base64 -d | openssl dgst -md5 -c

... ou peça ao OpenSSH para fazer isso (mais conveniente, porque ele também aceita arquivos de chave privada):

ssh-keygen -l -f <keyfile>

As novas versões do OpenSSH usam um hash SHA256 e codificam a impressão digital para Base64, não hexadecimais. Para forçar um novo OpenSSH ssh-keygen a mostrar a impressão digital do MD5, basta adicionar -E md5 :

ssh-keygen -l -f <keyfile> -E md5
    
por 27.09.2018 / 19:04