Como restringir o acesso SSH apenas por autenticação de chave (desativar senha)
Olá, amigo(a) GeHost! 👋
Se você está aqui, provavelmente quer deixar seu servidor ainda mais seguro — e essa é uma ótima decisão! Hoje, vamos aprender juntos como desativar o acesso SSH por senha e permitir apenas autenticação por chave. É como trocar uma porta com chave mestra por uma fechadura com senha única e secreta. Só quem tem a chave (digital) entra.Este guia é feito com carinho para quem está começando. Vamos passo a passo, com calma, como um bom treinamento de senpai com seu aluno. 😊
Antes de começar: prepare-se
- ✅ Você precisa ter acesso ao terminal (SSH) com sua conta.
- ✅ Você já tem uma chave SSH gerada no seu computador (se não tem, veja como gerar no final deste guia).
- ✅ Tenha um backup de segurança — caso algo dê errado, você ainda possa entrar.
- ⚠️ Não feche o terminal até terminar de configurar tudo. Caso contrário, pode se trancar fora!
Dica Sensei: Sempre use uma chave SSH com senha (passphrase). Isso é como ter uma senha para sua chave — ainda mais seguro!
Passo 1: Acesse o terminal (SSH)
Abra seu terminal (no Linux/Mac) ou use o PuTTY (no Windows). Conecte-se ao seu servidor usando o comando:
ssh usuario@seu-servidor.com.br
Substitua usuario pelo seu nome de usuário no servidor e seu-servidor.com.br pelo seu domínio ou IP (não vamos mostrar aqui por segurança).
Passo 2: Acesse o diretório de configuração SSH
Depois de logado, digite este comando para acessar o diretório onde está o arquivo de configuração do SSH:
cd ~/.ssh
Se não existir, crie com:
mkdir -p ~/.ssh && chmod 700 ~/.ssh
Passo 3: Edite o arquivo de configuração do SSH
Abra o arquivo sshd_config com um editor de texto. Use o vim (comum em servidores):
sudo nano /etc/ssh/sshd_config
⚠️ Importante: Não use o editor vi se você não sabe como sair dele. Use nano — é mais amigável.
Passo 4: Altere as configurações para desativar senha
Procure pelas linhas abaixo e altere ou adicione conforme indicado:
PasswordAuthentication noPermitEmptyPasswords noChallengeResponseAuthentication no
Se não encontrar, basta adicionar no final do arquivo. O arquivo deve ficar com essas linhas:
PasswordAuthentication no
PermitEmptyPasswords no
ChallengeResponseAuthentication no
Salve o arquivo com Ctrl + O, depois Enter, e saia com Ctrl + X.
Passo 5: Reinicie o serviço SSH
Para que as mudanças entrem em vigor, reinicie o serviço SSH:
sudo systemctl restart sshd
Se o serviço não estiver chamado assim, tente:
sudo systemctl restart ssh
Passo 6: Teste o acesso com chave SSH
Abra um novo terminal e tente se conectar com sua chave:
ssh -i caminho/para/sua/chave_privada usuario@seu-servidor.com.br
Se conseguir entrar sem pedir senha, parabéns! Você está com segurança reforçada.
Dica Sensei: Se não conseguir entrar, não se desespere. Volte ao terminal anterior e reative a senha temporariamente para corrigir. A segurança é importante, mas a acessibilidade também!
Como gerar uma chave SSH (se ainda não tem)
Se você nunca criou uma chave SSH, faça isso no seu computador:
No terminal (Linux/Mac), digite:
ssh-keygen -t ed25519 -C "seu-email@exemplo.com"
Pressione Enter para aceitar o local padrão. Depois, escolha uma senha (passphrase) — isso é muito importante!
Depois disso, copie sua chave pública:
cat ~/.ssh/id_ed25519.pub
Cole essa chave no Gerenciador de Chaves SSH do cPanel (se disponível), ou envie para o suporte da GeHost para adicionar.
Conclusão: Segurança com sabedoria
Voilà! Você acabou de transformar seu acesso SSH em algo muito mais seguro. A senha é como uma porta aberta — a chave é como um código secreto que só você tem.
Se tiver dúvidas, problemas ou quiser um reforço, o suporte da GeHost está aqui — com um sorriso, um café e um coração disposto a ajudar.
Com carinho,
Sensei da GeHost 🌟