Test de poort zelf
Een antwoord op ping of een werkende website zegt niets over SSH, omdat elk een ander protocol of een andere poort gebruikt. Test de TCP-poort rechtstreeks vanaf de client. Connection refused betekent dat iets heeft geantwoord, maar dat geen dienst de verbinding heeft geaccepteerd. Een timeout betekent dat niets heeft geantwoord, wat meestal wijst op een firewall, routering of een overbelaste computer.
nc -vz -w 5 server.example 22
ssh -v -o ConnectTimeout=5 user@server.exampleConnection refused: controleer sshd via de console
Gebruik de console van de provider of hypervisor, niet SSH. Controleer of de dienst draait, op welk adres en welke poort deze luistert en of de configuratie geldig is. In recente Ubuntu-versies start SSH via ssh.socket, dus controleer ook de socket-unit. In andere distributies kan de dienst sshd heten.
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: controleer de firewalls
Bekijk de firewall op de server en ook eventuele filters daarbuiten, zoals een cloudbeveiligingsgroep, de router of het beheerpaneel van de provider. Voer tijdens een verbindingspoging tcpdump op de server uit om te zien of er überhaupt pakketten aankomen. Verschijnt er niets, dan wordt het verkeer vóór de server geblokkeerd. Komen er pakketten aan maar gaat er geen antwoord uit, zoek dan op de server.
sudo ufw status verbose
sudo nft list ruleset | less
sudo tcpdump -ni any tcp port 22Geblokkeerd door fail2ban of door een gewijzigde poort
Na mislukte aanmeldingen kan fail2ban uw adres hebben geblokkeerd. Dat ziet eruit als een timeout of een geweigerde verbinding, maar alleen vanaf uw adres. Een test vanaf een ander netwerk maakt dit snel duidelijk. Controleer ook of de poort met Port is gewijzigd of het luisteren met ListenAddress tot één adres is beperkt in sshd_config of in een bestand onder /etc/ssh/sshd_config.d.
sudo fail2ban-client status sshd
sudo sshd -T | grep -E '^(port|listenaddress) 'De poort maakt verbinding, maar het aanmelden blijft hangen
Als de TCP-verbinding slaagt maar de SSH-banner nooit aankomt, werkt sshd slechts gedeeltelijk of is het systeem overbelast. Controleer via de console het geheugen, de schijfruimte en de belasting. Een volle schijf of uitgeput geheugen kan nieuwe sessies tegenhouden terwijl bestaande diensten nog steeds antwoorden.
uptime
free -h
df -hControleren met CH-J Server Manager
Server Diagnostics kan ping, een TCP-verbinding en de SSH-identificatietekst testen zonder aan te melden, voor IPv4 en IPv6, zodat u kunt zien in welke fase het misgaat. De tests werken alleen vanaf uw computer. De tool kan niet in de server kijken of vertellen welke firewall een pakket heeft laten vallen, dus voor de bovenstaande controles hebt u nog steeds de console nodig.