Pular para o conteúdo

Gerador de chave SSH

SSH Key Generator

Gera um par de chaves OpenSSH com comentário e mostra a fingerprint — as chaves nascem no seu navegador e nunca são transmitidas. A chave privada sai sem senha: coloque uma com ssh-keygen -p.

O mesmo gerador de chaves aberto na aba OpenSSH: uma linha de `authorized_keys` e a chave privada `openssh-key-v1` correspondente, geradas no navegador. Ed25519 por padrão, com ECDSA e RSA para os hosts que os querem.

🔒 Roda inteiramente no seu navegadorsshkeyscrypto
Algoritmo

Pequena, rápida, moderna. O padrão do SSH desde 2014.

Aparece no fim da linha da chave pública do OpenSSH.

As chaves são geradas pela própria WebCrypto deste navegador (crypto.subtle.generateKey) nesta aba, e nunca saem dela: nada é transmitido, registrado nem armazenado. Os formatos são conferidos contra o próprio OpenSSH nos testes deste projeto. Sempre que der, gere na máquina que vai guardar a chave privada; uma chave que existiu numa aba do navegador existiu na memória daquela aba.

Como usar

  1. Defina um comentário

    Ele vai no fim da linha da chave pública: `voce@maquina` por convenção. É o que te deixa achar a linha certa em um `authorized_keys` com uma dúzia de entradas daqui a dois anos.

  2. Copie a chave pública para o servidor

    Uma linha, acrescentada a `~/.ssh/authorized_keys` no host. A chave privada fica com você.

  3. Salve a chave privada e tranque-a

    Baixe como `id_key`, depois `chmod 600 id_key` — o ssh recusa uma chave privada que outras contas conseguem ler — e `ssh-keygen -p -f id_key` para adicionar uma frase secreta.

Perguntas frequentes

Por que a chave privada não está criptografada?

Criptografar uma chave `openssh-key-v1` precisa de bcrypt-pbkdf, e fazer isso aqui significaria afirmar uma implementação de KDF que esta página não consegue verificar contra o OpenSSH para cada parâmetro. Adicionar a frase secreta localmente com `ssh-keygen -p` usa o código do próprio OpenSSH, que é estritamente melhor.

Devo mesmo gerar uma chave SSH em um navegador?

Para um host descartável, um laboratório, ou quando você não tem um terminal à mão, é uma conveniência razoável: nada é transmitido e os formatos são verificados contra o próprio `ssh-keygen` nos testes deste projeto. Para a chave que abre a produção, use o terminal da máquina que vai guardá-la.

O servidor continua pedindo senha.

Normalmente permissões: `~/.ssh` precisa ser 700 e `authorized_keys` 600 no host, e a chave privada 600 no seu. `ssh -v` diz qual checagem falhou, e quase sempre é esta.

Posso usar uma chave para vários servidores?

Pode, e é normal. O preço é o raio de dano: uma chave privada comprometida abre tudo em que ela foi instalada. Uma chave separada por ambiente — notebook para produção, CI para staging — custa uma linha cada e limita o estrago.

Pode receber de

Em seguida

Estas aceitam o que esta ferramenta produz, então o resultado pode ir direto.