Testirajte sam port
Odgovor na ping ili web-stranica koja radi ne govore ništa o SSH-u jer svaki od njih koristi drukčiji protokol ili port. Testirajte TCP port izravno s klijenta. Connection refused znači da je nešto odgovorilo, ali nijedna usluga nije prihvatila vezu. Timeout znači da ništa nije odgovorilo, što obično upućuje na vatrozid, usmjeravanje ili preopterećeno računalo.
nc -vz -w 5 server.example 22
ssh -v -o ConnectTimeout=5 user@server.exampleConnection refused: provjerite sshd s konzole
Koristite konzolu pružatelja usluge ili hipervizora, a ne SSH. Provjerite radi li usluga, na kojoj adresi i portu sluša te je li konfiguracija valjana. U novijim izdanjima Ubuntua SSH se pokreće putem ssh.socket, pa provjerite i tu socket jedinicu. U drugim distribucijama usluga se može zvati 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: provjerite vatrozide
Provjerite vatrozid na poslužitelju i sve filtre izvan njega, primjerice sigurnosnu grupu u oblaku, usmjerivač ili upravljačku ploču pružatelja usluge. Kako biste vidjeli stižu li paketi uopće, pokrenite tcpdump na poslužitelju tijekom pokušaja povezivanja. Ako se ništa ne pojavi, promet je blokiran prije poslužitelja. Ako paketi stižu, ali odgovor ne izlazi, uzrok tražite na poslužitelju.
sudo ufw status verbose
sudo nft list ruleset | less
sudo tcpdump -ni any tcp port 22Blokada zbog alata fail2ban ili promijenjenog porta
Nakon neuspjelih prijava fail2ban je možda blokirao vašu adresu, što se očituje kao timeout ili odbijena veza samo s vaše adrese. Testiranje iz druge mreže to brzo pokaže. Provjerite i je li port promijenjen opcijom Port ili je slušanje ograničeno na jednu adresu opcijom ListenAddress u sshd_config ili u datoteci unutar /etc/ssh/sshd_config.d.
sudo fail2ban-client status sshd
sudo sshd -T | grep -E '^(port|listenaddress) 'Veza s portom uspijeva, ali prijava zastaje
Ako TCP veza uspije, ali SSH identifikacijska poruka nikad ne stigne, sshd radi samo djelomično ili je sustav preopterećen. Na konzoli provjerite memoriju, prostor na disku i opterećenje. Pun disk ili iscrpljena memorija mogu spriječiti nove sesije dok postojeće usluge i dalje odgovaraju.
uptime
free -h
df -hProvjera pomoću CH-J Server Manager
Server Diagnostics može bez prijave testirati ping, TCP vezu i SSH identifikacijski niz za IPv4 i IPv6, pa možete vidjeti u kojoj fazi dolazi do pogreške. Radi isključivo s vašeg računala. Ne može vidjeti unutarnje stanje poslužitelja ni utvrditi koji je vatrozid odbacio paket, pa vam za navedene provjere i dalje treba konzola.