Chave SSH na VPS Linux: como configurar e desativar login por senha

Tempo de leitura: 3 minutos

Todo login por senha numa VPS Linux é uma porta que alguém pode tentar arrombar na força bruta — e é exatamente esse tipo de tentativa que o Fail2ban em VPS Linux existe para bloquear. Mas dá para ir um passo além: usando uma chave SSH na VPS, o login por senha simplesmente deixa de existir, e não tem senha para adivinhar.

Este guia mostra como gerar o par de chaves, enviar a chave pública para o servidor e, só depois de confirmar que o acesso por chave funciona, desativar o login por senha com segurança.

Por que trocar a senha por uma chave SSH na VPS

Uma senha, por mais forte que seja, pode ser adivinhada, vazada em outro serviço ou capturada em um ataque de phishing. Uma chave SSH funciona de forma diferente: existe uma chave privada, que fica só no seu computador e nunca é enviada pela rede, e uma chave pública, que fica na VPS. O servidor só libera o acesso a quem provar, matematicamente, que tem a chave privada correspondente — sem nunca transmitir a chave em si.

Na prática, isso elimina o risco de força bruta: não existe senha para testar. Combinado com o Fail2ban, que já barra tentativas repetidas, a VPS fica com duas camadas em vez de uma.

Como gerar o par de chaves

No seu computador (não na VPS), abra o terminal — no Windows, pode ser o PowerShell ou o Git Bash; no Mac e no Linux, o terminal padrão já serve:

  • ssh-keygen -t ed25519 -C "[email protected]"
  • Quando perguntar onde salvar, pode aceitar o caminho padrão apertando Enter.
  • Quando perguntar por uma senha (passphrase), vale colocar uma — ela protege a chave privada caso alguém tenha acesso ao seu computador.

Isso cria dois arquivos: um terminando em .pub (a chave pública, que pode circular livremente) e outro sem extensão (a chave privada, que nunca deve sair do seu computador).

Como enviar a chave pública para a VPS

Com a VPS ainda aceitando login por senha, envie a chave pública com um único comando:

  • ssh-copy-id usuario@ip-da-vps — copia a chave automaticamente para o lugar certo.
  • Se o comando não existir no seu sistema, o caminho manual é colar o conteúdo do arquivo .pub dentro de ~/.ssh/authorized_keys na VPS.

Depois de enviar, teste em uma nova janela de terminal (sem fechar a sessão atual) se a chave SSH na VPS já funciona sem pedir senha. Quem prefere linha de comando pode revisar antes o guia de acesso à VPS Linux via terminal.

Como desativar o login por senha com segurança

Só depois de confirmar que o login por chave funciona de verdade — em uma sessão nova, não na que já está aberta — é hora de desativar a senha. O ajuste fica no arquivo de configuração do serviço SSH da VPS, alterando duas linhas: a que autoriza login por senha, que deve ser desligada, e a que permite entrar direto pelo usuário administrador, que deve aceitar somente chave.

Depois de salvar, o serviço precisa ser reiniciado para aplicar a mudança. Não feche a sessão atual antes de testar — abra uma nova janela de terminal e confirme que ainda consegue entrar antes de encerrar a sessão original. Se algo der errado, ela continua aberta para corrigir.

E se eu perder a chave SSH na VPS?

Guarde uma cópia de backup da chave privada em um lugar seguro — um gerenciador de senhas, por exemplo. Se mesmo assim perder o acesso, com login por senha desativado a recuperação depende do console de emergência do provedor ou de reinstalar o sistema, então vale mesmo o cuidado com o backup antes de desativar a senha.

Todo o processo segue o padrão descrito na documentação oficial do OpenSSH, então funciona em qualquer distribuição Linux rodando numa VPS Linux da Rubfy, não é algo específico da Rubfy.

Para reforçar ainda mais a segurança do servidor depois disso, vale também revisar o Imunify360 na Rubfy, que cobre a parte de malware e vulnerabilidades que a chave SSH sozinha não resolve.