Após a atualização do Ubuntu 22.04 para 24.04, recebo a mensagem “conexão recusada” de qualquer máquina na minha rede local. Isso acontece apenas usando nomes DDNS, enquanto os IPs funcionam. Isso acontece apenas no laptop Ubuntu 24.04. Não consegui encontrar nenhuma solução online. O encaminhamento de porta no meu roteador está correto. Não há firewall no laptop. Se eu executar sshd -d no servidor ssh remoto, não consigo ver nenhuma tentativa de conexão do laptop "defeituoso". Reverti de ssh.socket para sshd.service com os seguintes comandos:
sudo systemctl disable --now ssh.socket
sudo systemctl enable --now sshd.service
nslookup asds.dynu.net 8.8.8.8
Server: 8.8.8.8
Address: 8.8.8.8#53
Non-authoritative answer:
Name: xxxx.dynu.net
Address: 94.999.99.99
ATUALIZAÇÃO: finalizei esta pergunta por engano, faltavam muitos detalhes. Felizmente, isso me levou na direção certa graças à resposta abaixo: Achei que a saída do nslookup do meu DDNS estava certa, mas não estava. Portanto, este não é um problema de SSH. Analisarei os problemas relacionados ao DDNS agora.
As conexões com outras máquinas sempre usam endereços IP, não nomes de host. Se você fornecer um nome de host, ele deverá ser traduzido para um endereço IP antes de poder ser usado.
Se o uso do endereço IP funcionar e o nome do host falhar, o nome do host estará mapeado para um endereço IP diferente. (Supondo que você não esteja recebendo o host não encontrado...)
Não importa que o nslookup não receba erros, importa a resposta que ele obtém! Observe também que o comando nslookup usa uma fonte diferente (mais direta) para procurar o nome do host do que outras coisas,
host
para que possa obter respostas diferentes. Se você obtiver respostas diferentes do nslookup e do host, provavelmente o host está obtendo uma resposta em cache do sistema local. (nslookup também pode obter uma resposta em cache, mas com menos camadas de cache.)