Preverite sama vrata
Odgovor na ping ali delujoča spletna stran ne povesta ničesar o SSH, saj vsak uporablja drug protokol ali vrata. Vrata TCP preverite neposredno iz odjemalca. Connection refused pomeni, da je nekaj odgovorilo, vendar nobena storitev ni sprejela povezave. Timeout pomeni, da ni odgovorilo nič, kar običajno kaže na požarni zid, usmerjanje ali preobremenjen računalnik.
nc -vz -w 5 server.example 22
ssh -v -o ConnectTimeout=5 user@server.exampleConnection refused: preverite sshd prek konzole
Uporabite konzolo ponudnika ali hipervizorja, ne SSH. Preverite, ali storitev teče, na katerem naslovu in vratih posluša ter ali je konfiguracija veljavna. V novejših izdajah Ubuntu se SSH zažene prek ssh.socket, zato preverite tudi enoto vtičnice. Druge distribucije lahko storitev poimenujejo 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: preverite požarne zidove
Preverite požarni zid na strežniku in vse filtre zunaj njega, na primer varnostno skupino v oblaku, usmerjevalnik ali nadzorno ploščo ponudnika. Če želite videti, ali paketi sploh prispejo, med poskusom povezave na strežniku zaženite tcpdump. Če se nič ne prikaže, je blokada pred strežnikom. Če paketi prispejo, odgovor pa ne odide, iščite vzrok na strežniku.
sudo ufw status verbose
sudo nft list ruleset | less
sudo tcpdump -ni any tcp port 22Blokada zaradi fail2ban ali spremenjenih vrat
Po neuspešnih prijavah je fail2ban morda blokiral vaš naslov, kar se kaže kot timeout ali zavrnjena povezava samo z vašega naslova. Preizkus iz drugega omrežja to hitro pokaže. Preverite tudi, ali so bila vrata spremenjena z možnostjo Port ali poslušanje omejeno na en naslov z ListenAddress v sshd_config ali datoteki pod /etc/ssh/sshd_config.d.
sudo fail2ban-client status sshd
sudo sshd -T | grep -E '^(port|listenaddress) 'Povezava z vrati uspe, prijava pa obstane
Če povezava TCP uspe, uvodno identifikacijsko sporočilo SSH pa nikoli ne prispe, sshd deluje le delno ali pa je sistem preobremenjen. V konzoli preverite pomnilnik, prostor na disku in obremenitev. Poln disk ali izčrpan pomnilnik lahko preprečita nove seje, medtem ko se obstoječe storitve še vedno odzivajo.
uptime
free -h
df -hPreverjanje s CH-J Server Manager
Server Diagnostics lahko brez prijave preveri ping, povezavo TCP in identifikacijski niz SSH za IPv4 in IPv6, tako da vidite, katera stopnja odpove. Deluje samo iz vašega računalnika. Ne vidi v notranjost strežnika in ne more povedati, kateri požarni zid je zavrgel paket, zato za zgornja preverjanja še vedno potrebujete konzolo.