Existe um forro que pode listar impressões digitais de chave pública com authorized_keys como entrada?

3

Gostaria de auditar o arquivo authorized_keys em vários servidores e combiná-los com impressões digitais conhecidas da AWS.

Existe um one-liner que incorpora ssh-keygen -lf , que produzirá a impressão digital de cada chave em um arquivo authorized_keys em uma lista agradável com quebras de linha?

    
por codecowboy 17.04.2014 / 12:23

2 respostas

4

Em serverfault :

Você pode facilmente torná-lo uma função em seu .bashrc:

function fingerprints() {
  local file="$1"
  while read l; do
    [[ -n $l && ${l###} = $l ]] && ssh-keygen -l -f /dev/stdin <<<$l
  done < $file
}

e faça:

$ fingerprints .ssh/authorized_keys
    
por 17.04.2014 / 12:36
2

Aqui você vai:

    find /path/to/keys/directory -type f -name "*.pub" -exec ssh-keygen -lf {} \; | awk '{print $2}'

Editar: Whops, ok. pegue agora.

aqui vai:

    while read line; do ssh-keygen -lf "$line"; done < <(cat authorised_keys_file)

(se este arquivo tiver uma chave por linha)

    
por 17.04.2014 / 12:49