Gerador de Par de Chaves SSH (Ed25519)
Gere par de chaves SSH Ed25519 client-side prontos para usar em ~/.ssh/, com fingerprint SHA256 e formato OpenSSH.
Esta chave não é criptografada — use só em ambiente local de teste.
Chaves SSH do começo ao fim
SSH (Secure Shell) foi criado por Tatu Ylönen no Helsinki University of Technology em 1995, depois de um ataque de sniffing de senhas na rede do campus. Substituiu de imediato a família em texto claro telnet / rlogin / rsh e hoje é o padrão para shell remoto, transferência de arquivos (SFTP, SCP), port forwarding, git por SSH e tunelamento. A implementação que todo mundo usa é o OpenSSH, fork do OpenBSD liderado por Theo de Raadt desde 1999 — vem por padrão em qualquer Linux, macOS e Windows 10+.
Um par de chaves são dois arquivos: a chave privada que fica no seu notebook e a chave pública que você copia para cada servidor em que quer entrar (anexada a ~/.ssh/authorized_keys). O servidor desafia o cliente a provar posse da privada sem nunca vê-la. A matemática por baixo vem em quatro famílias:
- RSA — o padrão histórico. Use no mínimo 4096 bits desde 2014; 2048 está no limite, 1024 está quebrado. Continua onipresente porque qualquer servidor legado aceita.
- Ed25519 — projetada por Daniel J. Bernstein em 2011, suportada no OpenSSH 6.5 (2014). Chaves fixas de 32 bytes, assinatura muito rápida, sem pegadinhas de parâmetros. Padrão moderno recomendado.
- ECDSA — curvas NIST P-256/P-384/P-521. Mais antiga que Ed25519, mais difícil de implementar com segurança (falha de RNG vaza a privada, como o PlayStation 3 descobriu em 2010). Evite em chaves novas.
- DSA — deprecada; recusada pelo OpenSSH 7.0+ (2015). Não gere.
Gerar localmente — o único jeito certo
Rode ssh-keygen na sua própria máquina. Já vem instalado em qualquer lugar onde tenha OpenSSH:
ssh-keygen -t ed25519 -C "[email protected]" # padrão moderno
ssh-keygen -t rsa -b 4096 -C "[email protected]" # compatível com legado
ssh-keygen -t ed25519-sk -C "yubikey" # respaldado por FIDO2
Os arquivos caem em ~/.ssh/id_ed25519 (privada) e ~/.ssh/id_ed25519.pub (pública). Permissões obrigatórias: chmod 600 na privada, chmod 644 na pública, chmod 700 em ~/.ssh; o OpenSSH recusa usar uma privada com permissões mais frouxas. Copie a pública para um servidor com ssh-copy-id usuario@host.
Passphrase, agente e hardware
A passphrase criptografa a chave privada em disco para que um notebook roubado não vire root grátis. É opcional mas recomendada — combine com o ssh-agent (ou gpg-agent, Keychain do macOS, KeePassXC), que mantém a chave decifrada em memória durante a sessão para você digitar uma vez por dia. Para o nível mais alto de garantia, gere a chave num token FIDO2 (YubiKey e similares) com ed25519-sk: a privada nunca sai do chip e cada assinatura exige toque físico. Empresas com muitas máquinas costumam ainda colocar SSH certificates por cima — credenciais curtas assinadas por uma CA (HashiCorp Vault, Teleport, BastionZero, Smallstep) em vez de authorized_keys de longa duração.
Aviso forte sobre esta página
Nunca gere um par SSH de verdade em um site de terceiros. O sentido de chave privada é que ninguém mais a tenha; se um servidor viu a chave passando pela rede (mesmo sob HTTPS, mesmo com a promessa de "rodar no navegador") você precisa supor que vazou — log forwarders, extensões de navegador, anúncios maliciosos, até um snapshot de memória bastam. Esta ferramenta serve apenas para demonstrar o formato: mostrar como é um bloco armored OpenSSH de privada e uma linha de chave pública. Para chaves de produção, rode ssh-keygen na sua máquina, offline se possível.
Perguntas frequentes
Devo gerar chaves localmente? Sempre. ssh-keygen é um comando e nenhum byte sai do disco.
Passphrase é obrigatória? Tecnicamente não — OpenSSH aceita vazia — mas é fortemente recomendada para qualquer chave que toque servidor importante. Use ssh-agent para não ficar chato.
Ed25519 ou RSA 4096? Ed25519 a menos que precise suportar um servidor pré-histórico que só fale RSA. Menor, mais rápida, menos armadilhas. GitHub, GitLab, Bitbucket e AWS EC2 aceitam Ed25519 desde 2021.
O que é known_hosts? Cache de fingerprints de servidor por trust-on-first-use, em ~/.ssh/known_hosts. O aviso "Host key verification failed" significa que o fingerprint mudou — pode ser rotação legítima ou um man-in-the-middle.
A chave gerada aqui é segura para usar em servidor? Não. Use a saída só para conhecer o formato. Gere a chave real com ssh-keygen no seu notebook.
Ferramentas Relacionadas
Gerador de Manuscrito
Converte texto digitado em uma imagem com aparência de letra manuscrita. Útil para tornar trabalhos digitais mais pessoais.
Gerador de Currículo
Preenche um currículo simples (CV) imprimível em A4 a partir de formulário com dados pessoais, formação e experiência.
Gerador de Favicon
Gera favicon a partir de texto/emoji em todos os tamanhos comuns (16, 32, 48, 64, 192, 512). Download como PNG.