15%

Save 15% on All Hosting Services

Test your skills and get Discount on any hosting plan

Utilizar o código:

Skills
Começar a trabalhar
28.01.2026

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 é:

~/.ssh/

Isso se refere ao diretório .ssh na pasta inicial do usuário, por exemplo:

/home/username/.ssh/

Arquivos comuns neste diretório:

ArquivoPropósito
id_rsaChave privada padrão (RSA)
id_rsa.pubChave pública correspondente
id_ecdsa, id_ed25519Outras chaves privadas (ECDSA, Ed25519)
id_*.pubChaves públicas correspondentes
authorized_keysArmazena chaves públicas permitidas para conectar
known_hostsArmazena impressões digitais de servidores (verificação de chave de host)
configConfiguraçã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):

/etc/ssh/

Arquivos típicos:

ArquivoPropósito
ssh_host_rsa_keyChave privada do host (RSA)
ssh_host_rsa_key.pubChave pública do host
ssh_host_ecdsa_keyChave privada do host ECDSA
ssh_host_ed25519_keyChave 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:

ssh -i /path/to/custom_key user@host

Você também pode configurar várias chaves através de ~/.ssh/config:

Host myserver
HostName 192.168.1.100
User devops
IdentityFile ~/.ssh/devops_key

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:

~/.ssh/authorized_keys

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:

~/.ssh → 700 (drwx------)
~/.ssh/authorized_keys → 600 (-rw-------)
~/.ssh/id_rsa → 600 (-rw-------)
~/.ssh/id_rsa.pub → 644 (-rw-r--r--)

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:

    ssh-keygen -t ed25519 -C "your_email@example.com"
  • Use ssh-agent para armazenar chaves desbloqueadas na memória:

    eval "$(ssh-agent -s)"
    ssh-add ~/.ssh/id_rsa
  • 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:

ssh -v user@host

Isso imprime logs detalhados, incluindo qual arquivo de identidade foi tentado.

Para listar chaves carregadas em seu agente atual:

ssh-add -l

Para remover uma chave:

ssh-add -d ~/.ssh/mykey

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.

15%

Save 15% on All Hosting Services

Test your skills and get Discount on any hosting plan

Utilizar o código:

Skills
Começar a trabalhar