Teste a própria porta
Uma resposta a ping ou um site a funcionar nada dizem sobre o SSH, porque cada um usa um protocolo ou uma porta diferente. Teste a porta TCP diretamente a partir do cliente. Connection refused significa que algo respondeu, mas nenhum serviço aceitou a ligação. Um timeout significa que nada respondeu, o que normalmente aponta para uma firewall, um problema de encaminhamento ou um computador sobrecarregado.
nc -vz -w 5 server.example 22
ssh -v -o ConnectTimeout=5 user@server.exampleConnection refused: verifique o sshd pela consola
Use a consola do fornecedor ou do hipervisor, não o SSH. Verifique se o serviço está em execução, em que endereço e porta está à escuta e se a configuração é válida. Nas versões recentes do Ubuntu, o SSH arranca através de ssh.socket, pelo que deve inspecionar também a unidade de socket. Noutras distribuições, o serviço pode chamar-se sshd.
sudo systemctl status ssh.service ssh.socket
sudo ss -lntp | grep -E ':22\b|sshd'
sudo sshd -t
sudo journalctl -u ssh -n 50 --no-pagerTimeout: verifique as firewalls
Verifique a firewall do servidor e também todos os filtros externos, como um grupo de segurança da cloud, o router ou o painel do fornecedor. Para saber se os pacotes chegam sequer ao servidor, execute tcpdump no servidor durante uma tentativa de ligação. Se nada aparecer, o bloqueio está antes do servidor. Se os pacotes chegarem e não sair nenhuma resposta, procure a causa no servidor.
sudo ufw status verbose
sudo nft list ruleset | less
sudo tcpdump -ni any tcp port 22Bloqueio pelo fail2ban ou devido a uma porta alterada
Após tentativas de início de sessão falhadas, o fail2ban pode ter bloqueado o seu endereço. Isto manifesta-se como um timeout ou uma ligação recusada apenas a partir do seu endereço. Um teste a partir de outra rede permite detetá-lo rapidamente. Verifique também se a porta foi alterada com Port ou se a escuta foi limitada a um endereço com ListenAddress em sshd_config ou num ficheiro em /etc/ssh/sshd_config.d.
sudo fail2ban-client status sshd
sudo sshd -T | grep -E '^(port|listenaddress) 'A ligação à porta é estabelecida, mas o início de sessão fica bloqueado
Se a ligação TCP for estabelecida, mas a mensagem de identificação SSH nunca chegar, o sshd está apenas parcialmente funcional ou o sistema está sobrecarregado. Verifique a memória, o espaço em disco e a carga pela consola. Um disco cheio ou a memória esgotada podem impedir novas sessões enquanto os serviços existentes continuam a responder.
uptime
free -h
df -hVerificação com o CH-J Server Manager
O Server Diagnostics pode testar ping, uma ligação TCP e a cadeia de identificação SSH sem iniciar sessão, tanto para IPv4 como para IPv6, permitindo ver em que fase ocorre a falha. Funciona apenas a partir do seu computador. Não consegue ver o interior do servidor nem indicar que firewall descartou um pacote, pelo que continua a precisar da consola para as verificações acima.