Como alterar a porta do SSH na sua VPS Linux
O passo a passo completo, na ordem que evita você perder o acesso, incluindo o firewall, o SELinux e a pegadinha do socket no Ubuntu novo.
A porta 22 é o endereço padrão do SSH, e por isso é onde toda varredura automática da internet bate primeiro. Se você olhar os logs de uma VPS nova, vai ver centenas de tentativas de login por dia sem que ninguém saiba que ela existe.
Trocar a porta derruba esse volume quase a zero. Mas vale começar sendo honesto sobre o que isso é e o que não é.
O que isso resolve e o que não resolve
Mudar a porta não é segurança de verdade. É obscuridade: você não fechou a porta, só mudou de lugar. Quem fizer uma varredura completa das portas da sua máquina acha o SSH em segundos.
O que muda é o volume. Some quase todo o ruído dos bots automatizados, os logs ficam legíveis, e o risco de alguém acertar sua senha por tentativa e erro cai bastante.
Ou seja: vale a pena fazer, mas como complemento, nunca como substituto de senha forte, chave SSH e fail2ban, que estão em como manter a segurança da sua VPS.
A regra de ouro
Faça tudo isso com a sessão atual aberta. Não feche o terminal em que você está até ter confirmado que a nova porta funciona, abrindo uma segunda conexão.
Se algo der errado com a sessão antiga ainda aberta, você desfaz. Se der errado depois de fechar, você perde a máquina.
1. Escolha a porta
Use um número acima de 1024 e que não esteja em uso por outro serviço.
Valores como 2222 são comuns, mas justamente por isso também são escaneados.
Um número menos óbvio, tipo 49222, funciona melhor.
Confira se a porta está livre:
ss -tulpn | grep 49222
Se não retornar nada, está livre.
2. Edite a configuração do SSH
nano /etc/ssh/sshd_config
Procure a linha:
#Port 22
Ela normalmente vem comentada, com o # na frente. Descomente e troque o
número:
Port 49222
Uma dica que evita dor de cabeça: durante o teste, deixe as duas portas ativas, uma em cada linha:
Port 22
Port 49222
Assim, se algo falhar na porta nova, a antiga continua funcionando. Você remove a linha da 22 depois de confirmar que está tudo certo.
Salve com Ctrl + O e saia com Ctrl + X.
3. Libere a porta no firewall
Esse é o passo mais esquecido, e é o que mais tranca gente para fora.
UFW, no Ubuntu e Debian:
ufw allow 49222/tcp
firewalld, no Rocky, AlmaLinux e CentOS:
firewall-cmd --permanent --add-port=49222/tcp
firewall-cmd --reload
Se você ainda não configurou o firewall, o guia completo está em como ativar o firewall no Linux.
4. Ajuste o SELinux, se for Rocky ou AlmaLinux
Nas distribuições baseadas em Red Hat, o SELinux bloqueia o SSH em portas fora do padrão mesmo com o firewall liberado. O sintoma é o serviço se recusar a iniciar sem motivo aparente.
dnf install -y policycoreutils-python-utils
semanage port -a -t ssh_port_t -p tcp 49222
No Ubuntu e Debian esse passo não existe.
5. Confira o socket, se for Ubuntu recente
Essa é a pegadinha nova, e ela pega muita gente.
Nas versões mais recentes do Ubuntu, o SSH sobe por socket activation, e
nesse modo a porta definida no sshd_config pode ser simplesmente ignorada.
Confira:
systemctl status ssh.socket
Se aparecer como ativo, você tem duas saídas. A mais simples é desativar o socket e deixar o serviço tradicional cuidar:
systemctl disable --now ssh.socket
systemctl enable --now ssh
Se preferir manter o socket, a porta precisa ser definida nele, com
systemctl edit ssh.socket.
6. Reinicie o SSH
systemctl restart sshd
Em algumas distribuições o serviço se chama ssh:
systemctl restart ssh
Reiniciar o SSH não derruba a sua sessão atual. Ela continua viva.
Confirme que subiu sem erro:
systemctl status sshd
7. Teste em uma nova conexão
Agora, sem fechar o terminal atual, abra outro e conecte na porta nova:
ssh -p 49222 usuario@IP_DA_VPS
No PuTTY, o campo Port, ao lado do Host Name, é onde vai o número novo. O passo a passo da conexão está em como conectar na sua VPS Linux.
Se entrou, funcionou.
8. Feche a porta 22
Só agora, com a nova porta confirmada, remova a linha Port 22 do
sshd_config, reinicie o serviço e feche a porta no firewall:
ufw delete allow 22/tcp
Ou, no firewalld:
firewall-cmd --permanent --remove-service=ssh
firewall-cmd --reload
Se não funcionou
Percorra nesta ordem, que é a frequência real dos problemas:
- Firewall. É a causa em quase todos os casos. Confira com
ufw statusoufirewall-cmd --list-all. - Socket do Ubuntu. Se a porta antiga continua funcionando e a nova não, é quase certo que seja isso.
- SELinux, em Rocky e AlmaLinux. Confira o log com
journalctl -u sshd -n 50. - Erro de digitação no arquivo. Rode
sshd -t, que valida a configuração e aponta a linha do problema sem precisar reiniciar. - Firewall externo. Algumas hospedagens têm uma camada de firewall no painel, além do firewall da máquina. Vale conferir lá também.
Se a sua VPS for Windows
O equivalente é trocar a porta do RDP, que sofre exatamente o mesmo tipo de varredura. O passo a passo está em como trocar a porta RDP da sua VPS.
Trocar a porta reduz o volume de tentativa automatizada, mas não substitui proteção de rede. Nos planos de VPS da WyzeHost a mitigação de DDoS vem inclusa, sem custo adicional.


