Ubuntu SSH não muda de porta? Veja como corrigir o novo socket systemd

Se você alterou a porta do SSH no Ubuntu editando o arquivo /etc/ssh/sshd_config e mesmo assim o serviço continua respondendo na porta 22, saiba que isso não é um bug — é uma mudança recente nas versões mais novas do Ubuntu.

O que mudou?

Desde o Ubuntu 22.10, o SSH passou a usar o socket-based activation do systemd. Isso significa que quem realmente “ouve” a porta 22 agora é o ssh.socket, e não o sshd diretamente. Mesmo que você altere a porta no sshd_config, o socket ainda estará escutando na 22 até que seja ajustado.

Como identificar o problema

Verifique se o socket está ativo e escutando na porta 22:

sudo systemctl status ssh.socket

Se o resultado mostrar algo como:

Listen: 0.0.0.0:22 (Stream)
        [::]:22 (Stream)

Então o ssh.socket está sobrescrevendo sua configuração.

Como corrigir (forma recomendada)

  1. Crie um arquivo de override para redefinir a porta:
    sudo systemctl edit ssh.socket

  2. No editor que abrir, cole o seguinte conteúdo:
    [Socket]
    ListenStream=3056

    Isso limpa a configuração anterior (porta 22) e define a nova (3056).
  3. Salve e saia do editor (Ctrl + O, Enter, Ctrl + X).
  4. Recarregue o systemd e reinicie o SSH:
    sudo systemctl daemon-reload
    sudo systemctl restart ssh.socket
    sudo systemctl restart ssh.service

  5. Verifique se a porta foi alterada:
    sudo ss -tlnp | grep ssh

    Agora o SSH deve estar escutando na nova porta, por exemplo 0.0.0.0:3056.


  6. Atualize o firewall (UFW):
    sudo ufw allow 3056/tcp
    sudo ufw reload

Alternativa: desativar o socket e usar o modo antigo

Se preferir manter o comportamento tradicional do SSH (sem socket activation):

sudo systemctl disable --now ssh.socket
sudo systemctl enable --now ssh.service
sudo systemctl restart ssh

Isso fará com que o sshd volte a obedecer apenas a configuração do arquivo /etc/ssh/sshd_config.

Conclusão

O novo sistema de sockets do Ubuntu melhora o tempo de inicialização e o gerenciamento do SSH, mas pode confundir quem está acostumado a mudar portas diretamente no sshd_config. Agora você sabe exatamente como ajustar o ssh.socket para usar a porta desejada, de forma permanente e segura.

Dica: sempre teste o novo acesso antes de fechar a porta 22, para evitar se trancar fora do servidor.

Gostou deste conteúdo?

Sua opinião é importante para nós!