~ / .ssh / allowed_keys [2] contém a lista de chaves públicas.
Infelizmente, cada chave pública não especifica a força da chave (número de bits).
Existe um utilitário que possa processar esse arquivo linha por linha e gerar a força da chave?
Eu verifiquei as páginas de manual ssh-keygen
, mas parece que funcionaria apenas com chaves privadas.
Além disso, existe uma ferramenta que produziria sha1 hash da mesma maneira que é exibida na pageant
ferramenta Putty?
O formato que estou procurando:
Key Algorithm Strength Hash Comment
ssh-rsa 2048 00:11:22:33:44:55:66:77:88:99:aa:bb:cc:dd:ee:ff user1@host1
ssh-rsa 2048 11:22:33:44:55:66:77:88:99:aa:bb:cc:dd:ee:ff:11 user2@host2
ssh-keygen
com o arquivo inteiro. Veja minha resposta abaixo .Respostas:
O ssh-keygen pode fazer o núcleo do trabalho (gerando uma impressão digital a partir de uma chave pública), mas não processará automaticamente uma lista de várias chaves, como geralmente é encontrado em um
authorized_keys
arquivo.Aqui está um script que divide as chaves, as alimenta com ssh-keygen e produz a tabela que você deseja:
fonte
tmp="$(mktemp -t fingerprint-authkeys)"
deve ser alterado paratmp="$(mktemp -t fingerprint-authkeys.XXX)"
mktemp(1)
necessidade o Xs: FreeBSD , Mac OS X . Mas adicioná-los não prejudicará o comportamento daqueles que não precisam deles (eles acabam com os Xs antes do sufixo aleatório)./home/steve/.scripts/key-strength: line 36: $1: unbound variable
-l
opção é realmente o que eu estava procurando! Ainda assim, é inacreditável que você não possa canalizar nada para o ssh-keygen eMUST
ter um arquivo em disco.ssh-keygen
com o arquivo inteiro. Veja minha resposta abaixo .ssh-keygen
O openssh-7.2 (atualmente pelo menos no Fedora e no Ubuntu Xenial) suporta a leitura de várias chaves de um único arquivo. Portanto, executando simplesmenteresulta na saída desejada.
fonte
Se você possui o zsh, pode fazer isso como uma linha:
fonte
extrapolar a partir da solução zsh uma solução bash
quase ... Isso deve funcionar, mas o ssh-keygen parece não gostar de ler diretamente do fd gerado. Usando um arquivo temporário para o <(redirecionamento, ele funciona. Por que?
é claro que você pode escrever isso mais facilmente e ser feliz
fonte
Script para listar todas as impressões digitais do
authorized_keys
arquivo, criadas por saravana:fonte