Testează portul în sine
Un răspuns la ping sau un site funcțional nu spun nimic despre SSH, deoarece fiecare folosește un protocol sau un port diferit. Testează portul TCP direct de pe client. Connection refused înseamnă că ceva a răspuns, dar niciun serviciu nu a acceptat conexiunea. Un timeout înseamnă că nimic nu a răspuns, ceea ce indică de obicei un firewall, o problemă de rutare sau un calculator suprasolicitat.
nc -vz -w 5 server.example 22
ssh -v -o ConnectTimeout=5 user@server.exampleConnection refused: verifică sshd din consolă
Folosește consola furnizorului sau a hipervizorului, nu SSH. Verifică dacă serviciul rulează, pe ce adresă și port ascultă și dacă configurația este validă. În versiunile recente de Ubuntu, SSH pornește prin ssh.socket, așa că verifică și unitatea de socket. În alte distribuții, serviciul se poate numi 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: verifică firewallurile
Verifică firewallul de pe server și toate filtrele din afara lui, cum ar fi un grup de securitate din cloud, routerul sau panoul furnizorului. Pentru a vedea dacă pachetele ajung măcar la server, rulează tcpdump pe server în timpul unei încercări de conectare. Dacă nu apare nimic, blocajul este înainte de server. Dacă pachetele ajung, dar nu pleacă niciun răspuns, caută cauza pe server.
sudo ufw status verbose
sudo nft list ruleset | less
sudo tcpdump -ni any tcp port 22Blocare de către fail2ban sau din cauza schimbării portului
După autentificări eșuate, fail2ban îți poate fi blocat adresa, ceea ce se manifestă ca timeout sau conexiune refuzată doar de la adresa ta. Un test din altă rețea arată rapid acest lucru. Verifică și dacă portul a fost schimbat cu Port sau dacă ascultarea a fost limitată la o singură adresă cu ListenAddress în sshd_config ori într-un fișier din /etc/ssh/sshd_config.d.
sudo fail2ban-client status sshd
sudo sshd -T | grep -E '^(port|listenaddress) 'Conexiunea la port reușește, dar autentificarea se blochează
Dacă se stabilește conexiunea TCP, dar mesajul de identificare SSH nu sosește niciodată, sshd funcționează doar parțial sau sistemul este suprasolicitat. Verifică memoria, spațiul pe disc și încărcarea din consolă. Un disc plin sau memoria epuizată pot împiedica sesiunile noi, în timp ce serviciile existente continuă să răspundă.
uptime
free -h
df -hVerificare cu CH-J Server Manager
Server Diagnostics poate testa ping, o conexiune TCP și șirul de identificare SSH fără autentificare, pentru IPv4 și IPv6, astfel încât să vezi în ce etapă apare problema. Funcționează doar de pe calculatorul tău. Nu poate vedea în interiorul serverului și nici nu poate spune ce firewall a eliminat un pachet, așa că tot ai nevoie de consolă pentru verificările de mai sus.