Linux / Comando ssh-keygen: gerar chaves SSH e conferir a impressão digital
O comando ssh-keygen gera pares de chaves para autenticação SSH e mostra suas impressões digitais. Mantenha a chave privada protegida no seu computador e registre somente a chave pública nos servidores em que deseja autorizar o acesso.
Na autenticação por chave pública, o cliente usa a chave privada para assinar dados da autenticação e o servidor verifica a assinatura com a chave pública cadastrada. Arquivos como id_ed25519 e id_ed25519.pub formam um par típico: o sufixo .pub costuma identificar a parte pública. Confira o conteúdo e a finalidade do arquivo, pois um nome ou sufixo sozinho não garante seu tipo.
Sintaxe e preparação
ssh-keygen [opções]
Essa linha descreve a sintaxe; as opções concretas aparecem nos exemplos. Use o OpenSSH disponível no seu ambiente e consulte man ssh-keygen para a versão instalada. Os caminhos com ~/.ssh/ abaixo se referem ao diretório pessoal do usuário em um shell Unix; prepare esse diretório com acesso restrito ao proprietário, se ele ainda não existir.
Antes de gerar uma chave, verifique se já existem tanto ~/.ssh/id_ed25519_work quanto ~/.ssh/id_ed25519_work.pub. Se qualquer um existir, escolha outro nome ou confirme cuidadosamente a finalidade do par existente. Não aceite uma confirmação de sobrescrita como parte automática do procedimento: perder a chave privada antiga pode impedir o acesso a contas que ainda dependem dela.
A frase secreta, também chamada passphrase, protege a chave privada armazenada. Ela é diferente da senha da conta no servidor e não substitui as permissões do arquivo nem uma cópia de segurança protegida. Escolha uma frase difícil de adivinhar e informe-a no pedido interativo do programa, sem colocá-la em um comando que ficará no histórico.
Gerar o par e consultar a chave pública
Criar um par Ed25519: depois de conferir que o nome está livre, execute o comando. Ele grava a chave privada no caminho indicado por -f e a pública no mesmo caminho com .pub acrescentado. Defina e confirme a frase secreta quando solicitado.
ssh-keygen -t ed25519 -f ~/.ssh/id_ed25519_work -C 'user@example.com'
O texto user@example.com é um comentário ilustrativo para identificar a chave. Ele não cria uma conta, não define o usuário de login e não precisa ser um endereço de e-mail real. Evite incluir informações pessoais desnecessárias em um comentário que acompanhará a chave pública.
Mostrar a impressão digital da chave pública: use a parte pública do par que acabou de criar. Essa consulta ajuda a identificar o arquivo que será cadastrado; não comprova que algum servidor já autorizou essa chave.
ssh-keygen -lf ~/.ssh/id_ed25519_work.pub
Obter novamente a chave pública a partir da privada: a opção -y lê a chave privada no formato OpenSSH e escreve sua parte pública na saída padrão, normalmente o terminal. Se ela estiver protegida, será necessário fornecer a frase secreta correta.
ssh-keygen -y -f ~/.ssh/id_ed25519_work
Esse comando não cria um novo par e não salva automaticamente um arquivo .pub. Se precisar guardar a saída, escolha um arquivo público novo e confira seu conteúdo; nunca redirecione a saída para o próprio arquivo privado, pois o shell pode truncá-lo antes da leitura. A parte pública obtida corresponde à mesma chave, embora o comentário possa diferir conforme a versão ou o contexto.
Interpretar e comparar a impressão digital
A impressão digital é um identificador calculado a partir da chave. O OpenSSH usa SHA-256 por padrão na exibição atual. Para conferir qual chave está sendo distribuída, consulte novamente o arquivo público pretendido e compare o identificador completo com uma referência confiável.
ssh-keygen -lf ~/.ssh/id_ed25519_work.pub
O bloco seguinte mostra somente o formato ilustrativo. Os três pontos substituem uma impressão digital real e não devem ser usados como valor de comparação.
256 SHA256:... user@example.com (ED25519)
O número 256 é o tamanho exibido para essa chave Ed25519; SHA256:... representa sua impressão digital, seguida pelo comentário e pelo tipo (ED25519). Esse tamanho não significa 256 bits de segurança efetiva nem deve ser comparado diretamente ao comprimento de uma chave RSA. Ed25519 tem comprimento fixo, em vez de um tamanho escolhido aumentando -b.
A impressão digital da sua chave de usuário identifica a credencial que você apresenta ao servidor. Ela é diferente da impressão digital da chave de host, usada para identificar o próprio servidor durante a conexão. O guia do comando ssh e da verificação da chave do servidor explica essa outra comparação.
- Confirme os caminhos dos arquivos público e privado e preserve qualquer par existente.
- Gere um par com nome novo e frase secreta, depois confira sua impressão digital completa.
- Cadastre somente a chave pública pelo mecanismo autorizado para a conta do servidor. Gerar o par localmente não altera a configuração remota.
- Teste o acesso esperado antes de retirar uma chave antiga. Mantenha uma forma de recuperação autorizada enquanto conclui a troca.
Opções principais
| Opção | Finalidade e condição |
|---|---|
-t tipo |
Escolhe o tipo de chave, como ed25519. Confirme o suporte do cliente, do servidor e da política do ambiente. |
-f arquivo |
Indica o arquivo de entrada ou de saída conforme a operação. Na geração, escolha um caminho novo. |
-C comentário |
Fornece um comentário identificador. O comentário não concede autorização nem substitui a identidade de login. |
-l |
Mostra a impressão digital do arquivo de chave. Compare o valor completo, não o exemplo abreviado. |
-y |
Lê uma chave privada OpenSSH e imprime a chave pública correspondente. Não revela a parte privada nem cria um novo par. |
-p |
Altera a frase secreta de uma chave privada existente; exige a frase antiga quando a chave está protegida. |
Proteção, troca e recuperação
Não envie a chave privada por e-mail, mensageiros ou formulários da web. Proteja também as cópias de segurança, restrinja o acesso ao arquivo e evite salvá-lo em locais compartilhados sem uma política adequada. Uma frase secreta forte acrescenta uma camada de proteção se o arquivo for obtido por outra pessoa, mas não garante proteção contra um computador já comprometido.
Alterar a frase secreta com -p protege novamente o mesmo par; isso não troca automaticamente a chave pública cadastrada nem revoga uma cópia roubada da chave privada. Se houver suspeita de comprometimento, gere outro par, autorize a nova chave e remova a autorização da antiga nos destinos pertinentes, preservando uma forma de acesso durante a troca.
O ssh-keygen não oferece recuperação de uma frase secreta esquecida. Se não conseguir desbloquear a chave privada e não houver outra cópia utilizável ou forma autorizada de acesso, será necessário gerar um novo par e atualizar a autorização no servidor por um meio de recuperação. Perder apenas o arquivo público é uma situação diferente: com a chave privada utilizável, -y recupera sua parte pública.
Na verificação local de 29 de outubro de 2026, as ferramentas OpenSSH do Git for Windows foram usadas com um par Ed25519 descartável em diretório temporário. A geração protegida, a consulta da impressão digital e a derivação da parte pública funcionaram; após trocar a frase secreta, a parte pública continuou igual e a frase antiga foi rejeitada. O comando associado ssh -V informou OpenSSH 10.3p1. Os arquivos temporários foram removidos e nenhum par existente foi acessado; não houve cadastro remoto, login SSH nem teste nativo do Linux.
Pergunta frequente
Qual arquivo deve ser copiado para o servidor?
Cadastre somente a chave pública, normalmente o arquivo terminado em .pub, pelo procedimento autorizado do serviço. Mantenha a chave privada protegida localmente. A impressão digital ajuda a conferir a chave pública escolhida, mas não substitui o cadastro nem prova que o login funcionará.
Documentação oficial
Consulte o manual oficial do ssh-keygen para opções e formatos. O código-fonte do manual no repositório oficial OpenSSH Portable também documenta geração, frases secretas, impressões digitais e extração da chave pública.




