Segurança básica da VPS em 10 minutos: chave SSH, fail2ban e porta

Matheus Alexandre

Matheus Alexandre

Última atualização em Sep 29, 2026

Uma VPS nova recebe milhares de tentativas de senha por dia. Três medidas cortam quase todo o risco.

1. Chave SSH em vez de senha

No seu computador (Windows 10/11, macOS ou Linux):

ssh-keygen -t ed25519 -C "meu-pc"

Aceite o caminho padrão e defina uma frase-senha (protege a chave se o computador for roubado). Envie a chave pública para a VPS:

ssh-copy-id root@IP-DA-VPS
# no Windows sem ssh-copy-id:
type $env:USERPROFILE\.ssh\id_ed25519.pub | ssh root@IP-DA-VPS "mkdir -p ~/.ssh && cat >> ~/.ssh/authorized_keys"

Teste em outra janela: ssh root@IP-DA-VPS deve entrar sem pedir a senha do servidor. Só então desative a senha:

sudo nano /etc/ssh/sshd_config
PasswordAuthentication no
PermitRootLogin prohibit-password
sudo systemctl restart ssh

Guarde a chave privada em dois lugares. Se perder, o caminho de volta é o console VNC.

2. fail2ban

sudo apt install -y fail2ban
sudo tee /etc/fail2ban/jail.local <<'EOF'
[DEFAULT]
bantime  = 1h
findtime = 10m
maxretry = 5

[sshd]
enabled = true
EOF
sudo systemctl enable --now fail2ban
sudo fail2ban-client status sshd      # IPs banidos

Funciona também para Nginx, WordPress e painéis: há jails prontas em /etc/fail2ban/filter.d.

3. Reduzir a exposição

Escolha um:

  • Restringir o SSH ao seu IP: sudo ufw allow from SEU-IP to any port 22 e remova a regra geral (sudo ufw delete allow OpenSSH). Se o seu IP muda, use a opção seguinte.
  • Acesso só pela rede privada: Tailscale ou WireGuard e feche a 22 para a internet.
  • Mudar a porta (reduz ruído, não substitui os itens acima): Port 2222 no sshd_config, sudo ufw allow 2222/tcp, reinicie o SSH e só depois remova a 22.

4. Extras rápidos