CH-J Server Managerupravljanje strežnikov prek SSH
Meni
Vsi vodiči in članki →

Strežnik je dosegljiv, vendar se vrata SSH 22 ne odzivajo

Po vrsti preverite odjemalca, omrežje, požarni zid in sshd ter ugotovite, zakaj se strežnik odziva, SSH pa ne.

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.example

Connection 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-pager

Timeout: 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 22

Blokada 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 -h

Preverjanje 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.

Podrobna dokumentacija

OpenSSH: sshd →

man: ss →

Biometrično odklenjevanje in varnost →