Onde as chaves SSH são armazenadas no Linux — E como gerenciá-las de forma segura
SSH (Secure Shell) é uma ferramenta fundamental no ecossistema Linux, utilizada para acesso remoto, transferências de arquivos seguras, automação e gerenciamento de servidores. Embora a maioria dos usuários interaja com o SSH através do comando ssh, por trás das cenas SSH depende de pares de chaves públicas e privadas para autenticação — especialmente em ambientes onde logins sem senha, automação e práticas de DevOps são essenciais.
Localização Padrão de Armazenamento de Chaves SSH
O lugar mais comum onde as chaves SSH são armazenadas é:
Isso se refere ao diretório .ssh na pasta inicial do usuário, por exemplo:
Arquivos comuns neste diretório:
| Arquivo | Propósito |
|---|---|
| id_rsa | Chave privada padrão (RSA) |
| id_rsa.pub | Chave pública correspondente |
| id_ecdsa, id_ed25519 | Outras chaves privadas (ECDSA, Ed25519) |
| id_*.pub | Chaves públicas correspondentes |
| authorized_keys | Armazena chaves públicas permitidas para conectar |
| known_hosts | Armazena impressões digitais de servidores (verificação de chave de host) |
| config | Configuração do cliente SSH específica do usuário |
Se você gerar chaves com ssh-keygen, elas são armazenadas aqui por padrão, a menos que um caminho seja especificado.
Localizações de Chaves SSH em Todo o Sistema
Chaves de Host do Servidor SSH (sshd)
Chaves em todo o sistema usadas pelo daemon SSH (lado do servidor):
Arquivos típicos:
| Arquivo | Propósito |
|---|---|
| ssh_host_rsa_key | Chave privada do host (RSA) |
| ssh_host_rsa_key.pub | Chave pública do host |
| ssh_host_ecdsa_key | Chave privada do host ECDSA |
| ssh_host_ed25519_key | Chave privada do host Ed25519 |
Essas chaves são usadas para identificar o servidor para os clientes, não para autenticar usuários.
O daemon SSH (sshd) apresenta a chave pública do host durante a conexão; os clientes a comparam com ~/.ssh/known_hosts.
Localizações de Chaves Personalizadas
Você pode gerar ou usar chaves SSH de qualquer local, mas deve especificar o caminho:
Você também pode configurar várias chaves através de ~/.ssh/config:
Onde as Chaves São Usadas?
Saída (Lado do Cliente)
Os clientes SSH procuram chaves privadas em ~/.ssh/ por padrão. Elas são usadas para iniciar a autenticação ao conectar-se a um servidor remoto.
ssh, scp, rsync sobre SSH, git (ao usar remoto SSH)
📌 Entrada (Lado do Servidor)
O servidor procura por chaves públicas em:
Este arquivo lista quais chaves públicas são permitidas para logar naquela conta de usuário específica.
Se user_a tentar SSH em um servidor como user_b, sua chave pública deve estar presente em ~user_b/.ssh/authorized_keys.
Permissões — Críticas para a Segurança
Permissões corretas:
Permissões incorretas podem fazer com que o SSH ignore suas chaves ou rejeite logins completamente.
Gerenciando Chaves SSH de Forma Segura
Use uma frase secreta ao gerar chaves privadas:
Use ssh-agent para armazenar chaves desbloqueadas na memória:
- Rotacione chaves regularmente
- Remova chaves não utilizadas ou órfãs de “authorized_keys”
- Use chaves separadas por host/projeto
- Evite usar chaves root em diferentes ambientes
Auditoria e Depuração
Para ver qual chave está sendo usada durante a conexão SSH:
Isso imprime logs detalhados, incluindo qual arquivo de identidade foi tentado.
Para listar chaves carregadas em seu agente atual:
Para remover uma chave:
Conclusão
Entender onde as chaves SSH são armazenadas no Linux — e como gerenciá-las de forma segura — é crucial para administradores de sistema, desenvolvedores, engenheiros de DevOps e qualquer pessoa que trabalhe em ambientes de múltiplos hosts ou múltiplos usuários.
Ao conhecer a diferença entre chaves de usuário, chaves de host e chaves autorizadas, você pode:
- Resolver problemas de autenticação
- Configurar fluxos de trabalho automatizados seguros
- Gerenciar acesso entre equipes e sistemas
Em sistemas de produção ou plataformas em nuvem (por exemplo, VPS ou servidores dedicados), gerenciar incorretamente chaves SSH pode levar a vulnerabilidades sérias. Certifique-se de seguir as melhores práticas e auditar o acesso regularmente.
