
Gestão de chaves SSH: um guia prático
- VersionDude
- Ferramentas
- 6 min de leitura
As chaves SSH substituem as palavras-passe por algo muito mais robusto — mas só se as proteger, separar e renovar. Um guia em linguagem clara para gerir chaves SSH em segurança.
A gestão de chaves SSH é a prática de gerar, proteger, distribuir e desativar os pares de chaves criptográficas que utiliza para iniciar sessão em servidores através de SSH. Bem feita, substitui palavras-passe frágeis por chaves muito mais difíceis de adivinhar, e permite-lhe revogar acessos de forma limpa quando um portátil se perde ou um colaborador externo sai. Mal feita — chaves sem frase de acesso, copiadas entre máquinas, nunca renovadas — torna-se discretamente uma das portas mais escancaradas para a sua infraestrutura.
A razão pela qual merece atenção é que uma chave SSH é uma credencial permanente. Ao contrário de uma palavra-passe que digita, uma chave privada fica num ficheiro no disco e concede acesso enquanto a chave pública correspondente se mantiver no ficheiro authorized_keys de um servidor. Uma única chave desprotegida, fugida de uma cópia de segurança ou de uma máquina comprometida, pode dar a um atacante o mesmo alcance que tem — e é exatamente por isso que as chaves de programadores e de CI/CD são um alvo tão cobiçado.
Como funcionam realmente as chaves SSH

Um par de chaves SSH tem duas metades. A chave privada permanece na sua máquina e nunca a deve abandonar; a chave pública é copiada para cada servidor a que pretende aceder, onde reside em ~/.ssh/authorized_keys. Quando se liga, o servidor desafia o seu cliente a provar que detém a chave privada, sem que a própria chave alguma vez atravesse a rede. A posse desse ficheiro privado é, por isso, tudo o que importa.
A prática moderna favorece o algoritmo Ed25519 — curto, rápido e forte — em vez das antigas chaves RSA, embora RSA com 3072 bits ou mais continue a ser aceitável quando o Ed25519 não é suportado. Gera-se um par com ssh-keygen, e a opção mais importante de todas é uma frase de acesso: cifra a chave privada no disco, de modo que um ficheiro de chave roubado seja inútil para quem não conheça também a frase.
Boas práticas para as chaves SSH
Um punhado de hábitos cobre a maior parte do risco. Defina sempre uma frase de acesso e deixe o ssh-agent guardar a chave decifrada em memória, para que a digite uma vez por sessão em vez de a desativar. Use uma chave separada por dispositivo em vez de copiar uma chave privada entre portáteis, para poder revogar uma única máquina sem perturbar as restantes. E dê aos sistemas de CI e aos servidores as suas próprias chaves, nunca a sua chave pessoal.
- Proteja sempre as chaves privadas com uma frase de acesso
- Prefira o Ed25519; use uma chave separada por dispositivo
- Dê aos sistemas de CI e aos servidores as suas próprias chaves
- Audite o authorized_keys e remova acessos obsoletos
- Renove as chaves de forma calendarizada e quando perde um dispositivo
O acesso é concedido inteiramente pelo que está no ficheiro authorized_keys de cada servidor, por isso é nesse ficheiro que a gestão realmente acontece. Reveja-o periodicamente, remova as chaves de pessoas e máquinas que já não precisam de acesso, e mantenha um comentário curto e identificado em cada chave para perceber num relance de quem é. Para além de uns poucos servidores, uma ferramenta de gestão de configuração ou uma autoridade de certificação SSH escala isto muito melhor do que editar ficheiros à mão.
A renovação fecha o ciclo. Planeie substituir as chaves de forma calendarizada e de imediato sempre que um dispositivo se perde, uma frase de acesso possa ter sido vista, ou alguém com acesso sai. Como revogar uma chave é simplesmente remover a sua metade pública do authorized_keys, as chaves que estão identificadas e inventariadas são muito mais fáceis de desativar do que as anónimas que já não consegue justificar.
Onde guardar as chaves e as frases-passe
O ficheiro da chave privada em si deve permanecer no dispositivo que o utiliza, protegido pela sua frase de acesso e pelas permissões de ficheiro do próprio sistema operativo — e não sincronizado por pastas de nuvem em texto simples. Mas as frases de acesso que desbloqueiam essas chaves, juntamente com os códigos de recuperação e a ocasional chave que tenha mesmo de guardar como cópia, precisam de um lar seguro, e um ficheiro de texto simples ou uma aplicação de notas não é esse lugar.
Um gestor de palavras-passe com cifragem ponta a ponta é o lugar certo para esses segredos: as frases de acesso, os códigos de recuperação e qualquer material de chave exportado são cifrados antes de saírem do seu dispositivo e sincronizados em segurança entre as máquinas que possui. Mantém a parte memorizável por humanos da segurança SSH longe de olhares, sem o peso operacional de gerir o seu próprio servidor de cofre.



A renovação fecha o ciclo. Planeie substituir as chaves de forma calendarizada e de imediato sempre que um dispositivo se perde, uma frase de acesso possa ter sido vista, ou alguém com acesso sai. Como revogar uma chave é simplesmente remover a sua metade pública do authorized_keys, as chaves que estão identificadas e inventariadas são muito mais fáceis de desativar do que as anónimas que já não consegue justificar.