Guia rápido: configure o agente SSH e nunca mais digite a senha da chave
Oi! Aqui é a Sensei da GeHost 🧑🏫 Se você protege sua chave SSH com uma senha (o que é ótimo, viu — chave sem senha é um risco), já deve ter sentido aquela chatice de digitar a senha toda vez que conecta no servidor ou faz um git push. A boa notícia: existe uma ferramenta feita exatamente pra isso, o agente SSH (ssh-agent). Ele guarda sua chave "destravada" na memória com segurança, e você digita a senha uma única vez por sessão (ou até nunca mais, se guardar no chaveiro do sistema).
Vamos por partes, sem pressa. Este guia serve pra quem acessa hospedagem/servidor via SSH pelo terminal do Linux, macOS ou Windows (WSL).
Dica da Sensei: o agente SSH não elimina a senha da sua chave — ele só evita que você a redigite a cada conexão dentro da mesma sessão do computador. Continue protegendo sua chave privada com senha; isso é uma camada de segurança que vale a pena manter.
Passo 1 — Confirme que você já tem uma chave SSH
Abra o terminal e rode:
ls -la ~/.ssh
Se aparecer um par de arquivos como id_ed25519 e id_ed25519.pub (ou id_rsa / id_rsa.pub), você já tem uma chave. Se não tiver nenhuma, gere uma com:
ssh-keygen -t ed25519 -C "seu-email@exemplo.com"
Quando ele perguntar a senha (passphrase), defina uma — é justamente essa senha que vamos parar de digitar toda hora.
Passo 2 — Ligue o agente SSH
No Linux e no macOS (Terminal padrão)
Na maioria das distribuições modernas o agente já é iniciado automaticamente quando você abre o terminal. Pra verificar se ele está rodando, digite:
echo $SSH_AUTH_SOCK
Se aparecer um caminho (algo como /tmp/ssh-xxxx/agent.xxxx), ótimo, o agente já está de pé. Se vier vazio, inicie manualmente:
eval "$(ssh-agent -s)"
No Windows
Se você usa o WSL (recomendado para trabalhar com SSH no Windows), siga exatamente os mesmos passos do Linux acima, dentro do terminal do WSL. Se você usa PowerShell nativo, o Windows tem seu próprio serviço de agente OpenSSH — você pode habilitá-lo digitando (em um PowerShell como Administrador):
Set-Service ssh-agent -StartupType Automatic
Start-Service ssh-agent
Passo 3 — Adicione sua chave ao agente
Com o agente rodando, é hora de "carregar" sua chave nele:
- Rode o comando abaixo (troque pelo nome do arquivo da sua chave privada, sem o
.pub):ssh-add ~/.ssh/id_ed25519 - Ele vai pedir a senha da chave uma única vez.
- Pronto! A partir de agora, enquanto essa sessão do terminal/computador estiver aberta, toda conexão SSH que usar essa chave vai passar direto, sem pedir senha de novo.
Pra conferir quais chaves estão carregadas no agente a qualquer momento:
ssh-add -l
Passo 4 — Deixe isso automático (a chave carrega sozinha)
Até aqui, você resolveu o problema "durante esta sessão". Mas se fechar o terminal ou reiniciar o computador, provavelmente vai ter que rodar o ssh-add de novo. Pra automatizar de vez, existem dois caminhos — escolha o que combina com o seu sistema.
Opção A — Configurar no arquivo ~/.ssh/config (recomendado)
Esse arquivo permite dizer ao SSH "sempre que eu conectar em qualquer servidor, carregue e reutilize minha chave automaticamente". Abra (ou crie) o arquivo:
nano ~/.ssh/config
E adicione:
Host *
AddKeysToAgent yes
IdentityFile ~/.ssh/id_ed25519
O AddKeysToAgent yes faz o SSH guardar a chave no agente automaticamente na primeira vez que você usá-la — sem precisar rodar ssh-add manualmente.
No macOS, você pode ir além e usar o Chaveiro (Keychain) do sistema, assim a senha fica salva com segurança e sobrevive até depois de reiniciar o Mac. Nesse caso, use:Host * AddKeysToAgent yes UseKeychain yes IdentityFile ~/.ssh/id_ed25519
Opção B — Iniciar o agente automaticamente ao abrir o terminal (Linux)
Se no seu Linux o agente não inicia sozinho, adicione este trecho no final do seu ~/.bashrc ou ~/.zshrc:
if [ -z "$SSH_AUTH_SOCK" ]; then
eval "$(ssh-agent -s)" > /dev/null
ssh-add ~/.ssh/id_ed25519 2>/dev/null
fi
Assim, todo terminal novo já sobe com o agente ativo e tenta carregar a chave (ele ainda vai pedir a senha na primeira vez do dia, o que é esperado e saudável).
Testando se deu certo
Conecte no seu servidor normalmente:
ssh usuario@seu-servidor
Se a conexão passar direto (sem pedir a senha da chave), o agente está funcionando! Os dados exatos de host/usuário do seu ambiente GeHost você encontra no painel.gehost.com.br, na área do seu plano.
Ficou sem tempo de configurar tudo isso? Sem problemas — é sempre mais seguro digitar a senha a cada conexão do que deixar a chave sem senha "pra ser mais rápido". Configure com calma, e qualquer dúvida durante o processo é só chamar o suporte pelo painel.
Resumindo
- O agente SSH guarda sua chave destravada na memória da sessão.
ssh-add ~/.ssh/sua_chavecarrega a chave manualmente.AddKeysToAgent yesno~/.ssh/configautomatiza esse carregamento.- No macOS,
UseKeychain yesfaz a senha persistir entre reinicializações, com segurança. - Nunca remova a senha da chave "pra facilitar" — o agente já resolve a comodidade sem abrir mão da segurança.
Prontinho! Agora é só conectar e trabalhar, sem aquele "digite a senha" toda hora. 🚀