Pack Camo

Gerador de pares de chaves RSA e SSH

Pares de chaves RSA, ECDSA e Ed25519 em PEM e OpenSSH, gerados no seu dispositivo.

Tudo roda localmente — nada é enviado para servidor nenhum.

Gerando seu par de chaves…

Gere um par de chaves SSH ou RSA sem instalar nada

Este gerador cria um novo par de chaves Ed25519, ECDSA (P-256, P-384, P-521) ou RSA (2048, 3072, 4096 bits) com a Web Crypto API do seu navegador e exporta do jeito que você precisa: uma chave privada OpenSSH e uma linha de <code>authorized_keys</code>, exatamente como o <code>ssh-keygen</code> produziria; arquivos PEM PKCS#8 e SPKI para OpenSSL, TLS e bibliotecas JWT; um JWK público; e a impressão digital <code>SHA256:</code>. As chaves são geradas no seu dispositivo e a chave privada nunca sai desta página.

Como gerar um par de chaves SSH

  1. 1Escolha o tipo de chave: Ed25519 é o padrão moderno para SSH; escolha RSA para servidores antigos e para chaves de assinatura PEM ou JWT.
  2. 2Se quiser, digite um comentário, geralmente user@host, para reconhecer a chave depois no authorized_keys.
  3. 3Clique em Gerar. Baixe a chave privada como id_ed25519 (ou id_rsa, id_ecdsa) e a pública com o mesmo nome mais .pub.
  4. 4Mova as duas para ~/.ssh/, execute chmod 600 ~/.ssh/id_ed25519 e adicione a linha da chave pública ao ~/.ssh/authorized_keys do servidor ou às configurações de chave SSH do seu serviço Git.

Qual tipo de chave devo escolher?

Ed25519
Pequena (uma chave pública de 68 caracteres), rápida e resistente a erros de implementação. Suportada pelo OpenSSH 6.5 e posteriores, GitHub, GitLab e todos os servidores atuais. A melhor escolha para SSH hoje.
ECDSA (P-256, P-384, P-521)
Curvas NIST, necessárias quando regras de conformidade exigem ou onde Ed25519 não é aceita, como em alguns tokens de hardware e serviços de chaves na nuvem.
RSA
A escolha mais compatível, incluindo servidores SSH muito antigos e muitas bibliotecas TLS e JWT (RS256). Use pelo menos 3072 bits para chaves que devem durar além de 2030; 2048 é o mínimo ainda considerado aceitável.

Os formatos explicados

Chave privada OpenSSH
<code>-----BEGIN OPENSSH PRIVATE KEY-----</code>, o formato que o <code>ssh-keygen</code> grava por padrão. Gerada aqui sem criptografia; adicione uma senha depois com <code>ssh-keygen -p -f id_ed25519</code>.
Chave pública OpenSSH
Uma linha, <code>ssh-ed25519 AAAA… comment</code>, para <code>authorized_keys</code>, GitHub, GitLab e consoles de nuvem.
Chave privada PKCS#8 (PEM)
<code>-----BEGIN PRIVATE KEY-----</code>, o contêiner padrão que OpenSSL, Java, Node.js, Go e a maioria das bibliotecas JWT leem para qualquer tipo de chave.
Chave pública SPKI (PEM)
<code>-----BEGIN PUBLIC KEY-----</code>, a forma X.509 SubjectPublicKeyInfo usada para verificar assinaturas e nas configurações de verificação de JWT.
JWK
A chave pública em JSON (RFC 7517), com um thumbprint <code>kid</code>, pronta para publicar em um endpoint JWKS.

Impressões digitais

A impressão digital é um hash SHA-256 da chave pública no formato wire do SSH, codificado em Base64 sem preenchimento: SHA256:…. É o que ssh-keygen -lf id_ed25519.pub imprime, o que o GitHub lista ao lado de cada chave e o que o SSH mostra quando pede para você confiar em um host novo. Comparar impressões digitais é como você confirma que duas cópias de uma chave pública são a mesma chave.

É seguro gerar chaves no navegador?

As chaves vêm do crypto.subtle.generateKey, a criptografia nativa do navegador, que usa o gerador seguro de números aleatórios do sistema operacional — a mesma fonte que o ssh-keygen usa. Nada é enviado pela rede: você pode carregar esta página, desconectar e gerar chaves offline.

Para chaves que protegem sistemas de produção, o lugar mais seguro para gerá-las ainda é a máquina que vai usá-las, com ssh-keygen -t ed25519, ou uma chave de hardware. Esta ferramenta é ideal para ambientes de teste, chaves de deploy de CI, chaves de assinatura JWT e máquinas sem OpenSSH. Para inspecionar um certificado baseado nesse tipo de chave, use o decodificador de certificados.

Perguntas frequentes

Como gerar uma chave SSH online?
Escolha Ed25519, digite um comentário como seu e-mail, clique em Gerar e baixe a chave privada (id_ed25519) e a pública (id_ed25519.pub). Coloque as duas em ~/.ssh e adicione a linha .pub ao servidor ou ao seu serviço Git.
Ed25519 é melhor que RSA?
Para SSH, sim: chaves Ed25519 são bem mais curtas, mais rápidas de usar e oferecem segurança comparável à RSA-3072. Escolha RSA só para sistemas que não suportam Ed25519.
Por que Ed25519 não está disponível no meu navegador?
Ed25519 chegou à Web Crypto API no Firefox 129, Safari 17 e Chrome 137. Em um navegador mais antigo, atualize-o ou escolha ECDSA ou RSA.
Posso adicionar uma senha à chave privada?
A chave é gerada sem senha. Adicione uma na sua própria máquina com ssh-keygen -p -f ~/.ssh/id_ed25519, que criptografa o arquivo no lugar.
Como converter a chave para o formato .ppk do PuTTY?
Abra o PuTTYgen, escolha Load, selecione a chave privada OpenSSH que você baixou e salve como chave privada. O PuTTYgen lê o formato OpenSSH diretamente.
Qual arquivo vai no servidor?
Só a chave pública, a única linha do arquivo .pub, adicionada ao ~/.ssh/authorized_keys. A chave privada fica no seu computador e nunca deve ser compartilhada.
Por que o SSH diz que as permissões da minha chave privada estão abertas demais?
O SSH recusa chaves privadas que outros usuários podem ler. Execute chmod 600 no arquivo da chave privada e chmod 700 no diretório ~/.ssh.
As chaves são enviadas para um servidor?
Não. Elas são geradas pela Web Crypto API do seu navegador nesta página e só existem na memória até você baixá-las ou copiá-las.