CH-J Server Managerserverbeheer over SSH
Menu
Alle handleidingen en artikelen →

De server is online, maar SSH-poort 22 reageert niet

Controleer achtereenvolgens de client, het netwerk, de firewall en sshd om te achterhalen waarom de server wel antwoordt en SSH niet.

Test de poort zelf

Een antwoord op ping of een werkende website zegt niets over SSH, omdat elk een ander protocol of een andere poort gebruikt. Test de TCP-poort rechtstreeks vanaf de client. Connection refused betekent dat iets heeft geantwoord, maar dat geen dienst de verbinding heeft geaccepteerd. Een timeout betekent dat niets heeft geantwoord, wat meestal wijst op een firewall, routering of een overbelaste computer.

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

Connection refused: controleer sshd via de console

Gebruik de console van de provider of hypervisor, niet SSH. Controleer of de dienst draait, op welk adres en welke poort deze luistert en of de configuratie geldig is. In recente Ubuntu-versies start SSH via ssh.socket, dus controleer ook de socket-unit. In andere distributies kan de dienst sshd heten.

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: controleer de firewalls

Bekijk de firewall op de server en ook eventuele filters daarbuiten, zoals een cloudbeveiligingsgroep, de router of het beheerpaneel van de provider. Voer tijdens een verbindingspoging tcpdump op de server uit om te zien of er überhaupt pakketten aankomen. Verschijnt er niets, dan wordt het verkeer vóór de server geblokkeerd. Komen er pakketten aan maar gaat er geen antwoord uit, zoek dan op de server.

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

Geblokkeerd door fail2ban of door een gewijzigde poort

Na mislukte aanmeldingen kan fail2ban uw adres hebben geblokkeerd. Dat ziet eruit als een timeout of een geweigerde verbinding, maar alleen vanaf uw adres. Een test vanaf een ander netwerk maakt dit snel duidelijk. Controleer ook of de poort met Port is gewijzigd of het luisteren met ListenAddress tot één adres is beperkt in sshd_config of in een bestand onder /etc/ssh/sshd_config.d.

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

De poort maakt verbinding, maar het aanmelden blijft hangen

Als de TCP-verbinding slaagt maar de SSH-banner nooit aankomt, werkt sshd slechts gedeeltelijk of is het systeem overbelast. Controleer via de console het geheugen, de schijfruimte en de belasting. Een volle schijf of uitgeput geheugen kan nieuwe sessies tegenhouden terwijl bestaande diensten nog steeds antwoorden.

uptime
free -h
df -h

Controleren met CH-J Server Manager

Server Diagnostics kan ping, een TCP-verbinding en de SSH-identificatietekst testen zonder aan te melden, voor IPv4 en IPv6, zodat u kunt zien in welke fase het misgaat. De tests werken alleen vanaf uw computer. De tool kan niet in de server kijken of vertellen welke firewall een pakket heeft laten vallen, dus voor de bovenstaande controles hebt u nog steeds de console nodig.

Gedetailleerde documentatie

OpenSSH: sshd →

man: ss →

Biometrische ontgrendeling en beveiliging →