Como deixar sua VPS segura

Este é o guia perfeito para proteger sua VPS novinha em qualquer provedor!

Introdução

Se você acabou de comprar uma VPS e está começando a hospedar seus próprios serviços, esta é uma das melhorias de segurança mais importantes que você pode fazer.

Ao trocar para autenticação por chave SSH e desativar o login por senha, seu servidor fica praticamente imune a ataques de força bruta — mesmo que alguém descubra sua senha ou que você ainda esteja usando a porta padrão 22.

Passo 1: Gere um par de chaves SSH na sua máquina local

Linux e macOS

Abra um terminal e rode:

ssh-keygen -t rsa -b 4096

ou (formato mais novo, recomendado):

Bash

ssh-keygen -t ed25519

Aperte Enter para aceitar o local padrão do arquivo e deixe a senha da chave (passphrase) em branco (é só apertar Enter duas vezes).

Suas chaves serão salvas como:

  • Chave privada: ~/.ssh/id_rsa ou ~/.ssh/id_ed25519
  • Chave pública: ~/.ssh/id_rsa.pub ou ~/.ssh/id_ed25519.pub

Nunca compartilhe a chave privada!

Windows (PowerShell)

Abra o PowerShell e rode:

ssh-keygen.exe -t ed25519

(ou -t rsa -b 4096 se o ed25519 não for suportado)

Aperte Enter em todas as perguntas (sem passphrase). As chaves serão criadas em C:\Users\YourUser.ssh\

Passo 2: Copie sua chave pública para a VPS

Linux e macOS (método mais fácil)

ssh-copy-id user@your-vps-ip

Troque user e your-vps-ip pelo seu nome de usuário e pelo IP do servidor.

Windows

  1. Cole sua chave pública (é uma linha longa que começa com ssh-ed25519 ou ssh-rsa) → salve com Ctrl+O → Enter → Ctrl+X
  2. Teste: abra um terminal/PowerShell novo e tente entrar. Deve funcionar sem pedir senha.

Edite o arquivo: (Bash)

nano ~/.ssh/authorized_keys

Crie a pasta .ssh e o arquivo authorized_keys (se ainda não existirem): (Bash)

mkdir -p ~/.ssh
chmod 700 ~/.ssh
touch ~/.ssh/authorized_keys
chmod 600 ~/.ssh/authorized_keys

Entre na sua VPS normalmente (com senha): (PowerShell)

ssh user@your-vps-ip

Copie sua chave pública para a área de transferência: (PowerShell)

Get-Content $HOME\.ssh\id_ed25519.pub | Set-Clipboard

(ou id_rsa.pub se você usou RSA)

Passo 3: Desative a autenticação por senha

Agora que o login com chave funciona, desative completamente o login por senha.

Entre na sua VPS (usando sua chave) e edite a configuração do SSH:

sudo nano /etc/ssh/sshd_config

Encontre e altere (ou adicione) estas linhas:

PasswordAuthentication no
ChallengeResponseAuthentication no
UsePAM no
PubkeyAuthentication yes

Salve e saia.

Reinicie o serviço SSH:

sudo systemctl restart sshd

(ou sudo service ssh restart em sistemas mais antigos)

Teste final: tente entrar a partir de um terminal novo. Só deve funcionar com a sua chave privada — tentativas com senha serão recusadas na hora.

Pronto!

Agora sua VPS está protegida contra:

  • Ataques de força bruta
  • Credential stuffing (uso de senhas vazadas em massa)
  • Senhas fracas ou vazadas

Mesmo que um invasor saiba seu usuário e sua senha, ele não consegue entrar sem o arquivo da sua chave privada.

Dica de mestre: guarde um backup da sua chave privada em local seguro e considere adicionar uma passphrase depois, usando ssh-keygen -p.

Obrigado pela leitura! 😊

Criado com Hugo
Tema Stack desenvolvido por Jimmy