CH-J Server Managerszerverkezelés SSH felett
Menü
Minden útmutató és cikk →

A szerver elérhető, de az SSH 22-es portja nem válaszol

Ellenőrizze sorban a klienst, a hálózatot, a tűzfalat és az sshd működését, hogy kiderüljön, miért válaszol a szerver, miközben az SSH nem.

Tesztelje magát a portot

A ping válasza vagy egy működő webhely semmit sem mond az SSH állapotáról, mert mindegyik más protokollt vagy portot használ. Tesztelje a TCP-portot közvetlenül a kliensről. A Connection refused azt jelenti, hogy valami válaszolt, de egyetlen szolgáltatás sem fogadta el a kapcsolatot. A timeout azt jelenti, hogy semmi sem válaszolt, ami általában tűzfalra, útválasztási problémára vagy túlterhelt gépre utal.

nc -vz -w 5 server.example 22
ssh -v -o ConnectTimeout=5 user@server.example

Connection refused: ellenőrizze az sshd működését a konzolon

A szolgáltató vagy a hipervizor konzolját használja, ne az SSH-t. Ellenőrizze, hogy fut-e a szolgáltatás, melyik címen és porton figyel, és érvényes-e a konfiguráció. Az Ubuntu újabb kiadásaiban az SSH az ssh.socket közvetítésével indul, ezért a socket egységet is vizsgálja meg. Más disztribúciókban a szolgáltatás neve sshd lehet.

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: ellenőrizze a tűzfalakat

Nézze meg a szerver tűzfalát és minden rajta kívüli szűrőt is, például a felhő biztonsági csoportját, az útválasztót vagy a szolgáltató kezelőpaneljét. Annak megállapításához, hogy egyáltalán megérkeznek-e a csomagok, futtassa a tcpdump parancsot a szerveren egy kapcsolódási kísérlet közben. Ha semmi sem jelenik meg, a blokkolás a szerver előtt történik. Ha a csomagok megérkeznek, de válasz nem távozik, a szerveren keresse az okot.

sudo ufw status verbose
sudo nft list ruleset | less
sudo tcpdump -ni any tcp port 22

Blokkolás a fail2ban vagy egy megváltozott port miatt

Sikertelen bejelentkezések után a fail2ban letilthatta az Ön címét, ami csak erről a címről jelentkezik timeout vagy elutasított kapcsolat formájában. Egy másik hálózatról végzett teszt ezt gyorsan kimutatja. Azt is ellenőrizze, hogy a Port beállítás nem helyezte-e át a portot, illetve a ListenAddress nem korlátozta-e a figyelést egyetlen címre az sshd_config fájlban vagy egy fájlban a következő könyvtár alatt: /etc/ssh/sshd_config.d.

sudo fail2ban-client status sshd
sudo sshd -T | grep -E '^(port|listenaddress) '

A porthoz sikerül kapcsolódni, de a bejelentkezés elakad

Ha a TCP-kapcsolat létrejön, de az SSH azonosító üzenete soha nem érkezik meg, az sshd csak részben működik, vagy a rendszer túlterhelt. A konzolon ellenőrizze a memóriát, a szabad lemezterületet és a terhelést. A megtelt lemez vagy az elfogyott memória megakadályozhatja az új munkamenetek indulását, miközben a meglévő szolgáltatások továbbra is válaszolnak.

uptime
free -h
df -h

Ellenőrzés a CH-J Server Manager segítségével

A Server Diagnostics bejelentkezés nélkül tudja tesztelni a ping működését, a TCP-kapcsolatot és az SSH azonosító karakterláncát IPv4 és IPv6 esetén, így láthatja, melyik lépés hibázik. Kizárólag az Ön számítógépéről működik. Nem lát bele a szerverbe, és nem tudja megmondani, melyik tűzfal dobott el egy csomagot, ezért a fenti ellenőrzésekhez továbbra is szüksége van a konzolra.

Részletes dokumentáció

OpenSSH: sshd →

man: ss →

Biometrikus feloldás és biztonság →