Quando você contrata uma VPS nova, a primeira coisa que muita gente faz é instalar Docker, subir o projeto e colocar tudo no ar.
Mas antes de publicar qualquer aplicação, existe uma etapa que não deveria ser ignorada: a segurança básica do servidor.
Neste tutorial, você vai configurar uma base mais segura para sua VPS usando 5 passos simples:
- Acessar o servidor com chave SSH
- Criar um usuário comum com permissão de administrador
- Transferir a chave SSH para esse novo usuário
- Desabilitar o login direto como root
- Ativar o firewall com segurança
Antes de começar, substitua os valores abaixo pelos seus dados reais:
[seu_usuario]
Use o nome do usuário que você deseja criar.
[ip_do_servidor]
Use o IP real da sua VPS.
Passo 1: Acesse sua VPS usando chave SSH
O primeiro passo acontece antes mesmo de você acessar o servidor.
Na hora de criar sua VPS, cadastre sua chave pública SSH no painel da empresa de hospedagem. Pode ser DigitalOcean, Hetzner, Hostinger, Vultr ou qualquer outro provedor.
Normalmente, essa chave fica no seu computador em um arquivo como:
~/.ssh/id_rsa.pub
ou:
~/.ssh/id_ed25519.pub
Depois que a VPS for criada com a chave cadastrada, faça o primeiro acesso como root:
ssh root@[ip_do_servidor]
Se tudo estiver certo, você vai entrar direto no servidor sem precisar digitar senha.
Passo 2: Crie um novo usuário e abandone o root
O usuário root tem controle total sobre o servidor.
O problema é que ele também é o primeiro alvo em tentativas de invasão, porque praticamente todo servidor Linux possui esse usuário.
Por isso, o ideal é criar um usuário comum e dar a ele permissão para executar comandos administrativos quando necessário.
Execute:
adduser [seu_usuario]
O sistema vai pedir para você criar uma senha e preencher algumas informações. Você pode preencher ou apenas pressionar Enter para avançar.
Depois, adicione esse usuário ao grupo sudo:
usermod -aG sudo [seu_usuario]
Com isso, o novo usuário poderá executar comandos administrativos usando sudo.
Passo 3: Transfira a chave SSH para o novo usuário
Agora que o usuário foi criado, ele também precisa conseguir acessar o servidor usando a chave SSH.
Para isso, copie o arquivo de chaves autorizadas do root para o novo usuário.
Crie a pasta .ssh no diretório do novo usuário:
mkdir -p /home/[seu_usuario]/.ssh
Copie o arquivo authorized_keys:
cp ~/.ssh/authorized_keys /home/[seu_usuario]/.ssh/
Agora ajuste o dono da pasta e dos arquivos:
chown -R [seu_usuario]:[seu_usuario] /home/[seu_usuario]/.ssh
Também recomendo ajustar as permissões:
chmod 700 /home/[seu_usuario]/.ssh
chmod 600 /home/[seu_usuario]/.ssh/authorized_keys
Antes de continuar, abra um novo terminal no seu computador e teste o acesso com o novo usuário:
ssh [seu_usuario]@[ip_do_servidor]
Só avance para o próximo passo depois de confirmar que conseguiu acessar normalmente com o novo usuário.
Isso é importante para evitar que você bloqueie seu próprio acesso ao servidor.
Passo 4: Desabilite o login direto como root
Agora que o novo usuário já consegue acessar a VPS, podemos desabilitar o login direto como root.
Acesse o arquivo de configuração do SSH:
sudo nano /etc/ssh/sshd_config
Ou, se preferir usar vi:
sudo vi /etc/ssh/sshd_config
Dentro do arquivo, procure pela linha:
PermitRootLogin
Altere para:
PermitRootLogin no
Se a linha estiver comentada com #, remova o # e deixe assim:
PermitRootLogin no
Salve e feche o arquivo.
Agora reinicie o serviço SSH.
Em muitas distribuições Ubuntu, o comando correto é:
sudo systemctl restart ssh
ou:
sudo service ssh restart
Em algumas distribuições, o serviço pode se chamar sshd:
sudo systemctl restart sshd
Se aparecer erro como Unit sshd.service not found, use:
sudo systemctl restart ssh
Depois disso, tente abrir uma nova conexão como root:
ssh root@[ip_do_servidor]
O acesso deve ser recusado.
Agora teste novamente com seu novo usuário:
ssh [seu_usuario]@[ip_do_servidor]
Esse deve continuar funcionando normalmente.
Passo 5: Ative o firewall com cuidado
O último passo é ativar o firewall da VPS usando o UFW.
Mas atenção: antes de ativar o firewall, você precisa liberar o SSH. Caso contrário, pode perder o acesso ao servidor.
Primeiro, libere conexões SSH:
sudo ufw allow ssh
Depois, ative o firewall:
sudo ufw enable
Se aparecer uma confirmação, digite:
y
Agora verifique o status:
sudo ufw status
Você deve ver algo parecido com:
Status: active
To Action From
-- ------ ----
22/tcp ALLOW Anywhere
22/tcp (v6) ALLOW Anywhere (v6)
Isso significa que o SSH está liberado e o restante do servidor permanece bloqueado por padrão.
Caso você vá publicar uma aplicação web depois, provavelmente também precisará liberar as portas HTTP e HTTPS:
sudo ufw allow 80
sudo ufw allow 443
Depois confira novamente:
sudo ufw status
Resumo dos comandos
Aqui está a sequência principal dos comandos usados no tutorial:
ssh root@[ip_do_servidor]
adduser [seu_usuario]
usermod -aG sudo [seu_usuario]
mkdir -p /home/[seu_usuario]/.ssh
cp ~/.ssh/authorized_keys /home/[seu_usuario]/.ssh/
chown -R [seu_usuario]:[seu_usuario] /home/[seu_usuario]/.ssh
chmod 700 /home/[seu_usuario]/.ssh
chmod 600 /home/[seu_usuario]/.ssh/authorized_keys
ssh [seu_usuario]@[ip_do_servidor]
sudo nano /etc/ssh/sshd_config
sudo systemctl restart ssh
sudo ufw allow ssh
sudo ufw enable
sudo ufw status
Conclusão
Esses 5 passos criam uma base muito mais segura para qualquer VPS nova.
Você deixa de depender de senha, evita o uso direto do root, mantém o acesso controlado por chave SSH e bloqueia conexões desnecessárias com o firewall.
Antes de instalar Docker, N8N, Dokploy, banco de dados ou qualquer aplicação, vale a pena fazer essa configuração inicial.
É um processo simples, rápido e que pode evitar muita dor de cabeça no futuro.







