SSH và nâng cao 57 visualizações

Como gerenciar chaves SSH para acessar vários servidores com segurança

Ver no WHMCS

Como gerenciar chaves SSH para acessar vários servidores com segurança

Oi! Aqui é a Sensei da GeHost 🙋‍♀️ Se você mexe com mais de um servidor — seja o seu ambiente de desenvolvimento, um VPS externo, um repositório Git ou qualquer máquina que peça login via SSH — vai chegar uma hora em que decorar senha não vai mais dar conta. É exatamente aí que entram as chaves SSH: um jeito muito mais seguro (e mais prático) de provar "sou eu mesmo" para um servidor, sem digitar senha nenhuma.

Vem comigo que eu te explico do zero, com calma, e no final você vai estar gerenciando suas chaves como quem já faz isso há anos.

O que é uma chave SSH, afinal?

Pensa assim: uma chave SSH é, na verdade, um par de chaves — uma pública e uma privada, que funcionam como um cadeado e uma fechadura.

  • Chave privada: fica só no seu computador. Nunca, jamais, em hipótese nenhuma, deve ser compartilhada com ninguém.
  • Chave pública: essa você distribui para os servidores que quer acessar. Ela vai dentro de um arquivo chamado authorized_keys, no lado do servidor.

Quando você tenta conectar, o servidor manda um "desafio" que só quem tem a chave privada correspondente consegue responder. Sem digitar senha, sem risco de alguém "adivinhar" ou forçar sua senha por tentativa e erro (o famoso ataque de força bruta).

💡 Dica da Sensei: chave SSH não é só mais seguro — é mais rápido no dia a dia! Depois de configurada, você conecta com um comando simples, sem precisar digitar nada.

Passo 1 — Gerando seu primeiro par de chaves

No terminal do seu computador (Linux, macOS ou Windows com PowerShell/WSL), rode:

ssh-keygen -t ed25519 -C "seu-email@exemplo.com"

Vamos por partes:

  1. -t ed25519 escolhe um tipo de chave moderno e muito seguro. Se algum sistema mais antigo não aceitar, use -t rsa -b 4096 como alternativa.
  2. O sistema vai perguntar onde salvar o arquivo — o padrão (~/.ssh/id_ed25519) geralmente está ótimo.
  3. Depois ele pergunta se você quer uma passphrase (uma senha extra para proteger a própria chave). Recomendo fortemente colocar uma. Se alguém roubar seu notebook, sem a passphrase a chave privada sozinha não abre porta nenhuma.
💡 Dica da Sensei: pense na passphrase como o PIN do seu cartão — a chave é o cartão, a passphrase é o que impede que qualquer um que ache o cartão consiga usá-lo.

Passo 2 — Uma chave por finalidade (não uma só pra tudo)

Aqui está o segredo de quem gerencia vários servidores com tranquilidade: não use a mesma chave para tudo. Crie chaves separadas por contexto — por exemplo, uma para servidores de trabalho, outra para projetos pessoais, outra para um cliente específico.

Para gerar uma nova chave com nome próprio (em vez do padrão), use:

ssh-keygen -t ed25519 -C "projeto-cliente-x" -f ~/.ssh/id_ed25519_cliente_x

Assim, se um dia você precisar revogar o acesso de um único projeto, basta remover aquela chave específica do servidor correspondente — sem afetar o acesso aos outros.

Passo 3 — Organizando tudo com o arquivo de configuração SSH

Com várias chaves e vários servidores, decorar qual chave usa em qual endereço vira um parto. A solução é o arquivo ~/.ssh/config, que funciona como uma "agenda de contatos" dos seus servidores.

Abra (ou crie) esse arquivo e adicione um bloco para cada servidor, assim:

Host servidor-trabalho
    HostName endereco-do-servidor.com
    User seu-usuario
    IdentityFile ~/.ssh/id_ed25519_trabalho

Host servidor-cliente-x
    HostName outro-endereco.com
    User usuario-cliente
    IdentityFile ~/.ssh/id_ed25519_cliente_x

A partir daí, conectar fica assim de simples:

ssh servidor-trabalho

Sem precisar lembrar endereço, usuário nem qual chave usar — o SSH já sabe tudo por você.

Passo 4 — Enviando a chave pública para o servidor

Depois de criar a chave, você precisa avisar o servidor que ela existe. O jeito mais fácil é:

ssh-copy-id -i ~/.ssh/id_ed25519_cliente_x.pub usuario@endereco-do-servidor.com

Se o comando ssh-copy-id não estiver disponível no seu sistema, você pode copiar manualmente o conteúdo do arquivo .pub e colar dentro de ~/.ssh/authorized_keys no servidor de destino.

⚠️ Atenção: nunca envie o arquivo sem a extensão .pub — esse é o arquivo da chave privada, e ele nunca deve sair do seu computador.

Passo 5 — Boas práticas de segurança que fazem toda a diferença

  • Nunca compartilhe sua chave privada por e-mail, chat ou qualquer outro meio — nem com colegas de confiança. Se alguém precisa de acesso, ela deve gerar a própria chave e enviar só a pública para você.
  • Use uma passphrase em todas as chaves, sempre.
  • Confira as permissões dos arquivos. No Linux/macOS, a chave privada deve ter permissão restrita:
    chmod 600 ~/.ssh/id_ed25519_cliente_x
  • Revise periodicamente o arquivo authorized_keys de cada servidor e remova chaves de acessos que não existem mais (ex-colaborador, projeto encerrado).
  • Evite reaproveitar a mesma chave em ambientes muito diferentes (pessoal e profissional, por exemplo).
  • Cuidado com o encaminhamento de agente (agent forwarding): só ative essa opção quando você realmente confia 100% no servidor intermediário, já que ela pode expor sua chave a esse servidor.

Passo 6 — Fazendo backup da sua chave (sem comprometer a segurança)

Perder a chave privada não é o fim do mundo — você simplesmente gera outra e reconfigura o acesso. Mas se preferir manter um backup, guarde o arquivo em um local criptografado (um cofre de senhas com suporte a arquivos, por exemplo) e nunca em serviços de armazenamento em nuvem sem criptografia.

💡 Dica da Sensei: se a sua chave tiver uma passphrase forte, mesmo que o arquivo vaze, ele sozinho não é suficiente para invadir nada. É mais uma camada de proteção — nunca a única.

E se eu tiver acesso via cPanel na GeHost?

Cada plano de hospedagem tem um conjunto de recursos próprio, e o tipo de acesso disponível pode variar. Para saber exatamente quais recursos de acesso estão incluídos no seu plano — e como configurá-los —, o caminho mais seguro é consultar o painel do cliente (painel.gehost.com.br) ou falar com o nosso suporte. Assim você tem certeza de estar seguindo exatamente o que vale para a sua conta.

Resumindo

  1. Gere um par de chaves para cada contexto/servidor.
  2. Proteja a chave privada com passphrase e nunca a compartilhe.
  3. Organize tudo no arquivo ~/.ssh/config.
  4. Envie só a chave pública para os servidores.
  5. Revise acessos antigos de tempos em tempos.

Com essa rotina, gerenciar vários servidores deixa de ser um quebra-cabeça e vira algo tranquilo — e, o mais importante, muito mais seguro. Qualquer dúvida, você sabe onde me encontrar. 🌸

Precisa de Ajuda?

Nossa equipe está pronta para resolver suas dúvidas.