CH-J Server Managerserverhantering över SSH
Menyn
Alla guider och artiklar →

Servern är online men SSH-port 22 svarar inte

Gå igenom klienten, nätverket, brandväggen och sshd i tur och ordning för att hitta varför servern svarar men SSH inte gör det.

Testa själva porten

Ett svar på ping eller en fungerande webbplats säger ingenting om SSH, eftersom de använder olika protokoll eller portar. Testa TCP-porten direkt från klienten. Connection refused betyder att något svarade men att ingen tjänst accepterade anslutningen. Timeout betyder att ingenting svarade, vilket oftast pekar på en brandvägg, routing eller en överbelastad dator.

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

Connection refused: kontrollera sshd via konsolen

Använd leverantörens eller hypervisorns konsol, inte SSH. Kontrollera att tjänsten körs, vilken adress och port den lyssnar på och om konfigurationen är giltig. I nyare Ubuntu-versioner startar SSH via ssh.socket, så kontrollera även socketenheten. Andra distributioner kan kalla tjänsten 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: kontrollera brandväggarna

Granska brandväggen på servern och alla filter utanför den, till exempel en säkerhetsgrupp i molnet, routern eller leverantörens kontrollpanel. Kör tcpdump på servern under ett anslutningsförsök för att se om paket alls kommer fram. Om ingenting syns ligger blockeringen före servern. Om paket kommer in men inget svar går ut ska du leta på servern.

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

Blockering av fail2ban eller en ändrad port

Efter misslyckade inloggningar kan fail2ban ha blockerat din adress, vilket ser ut som en timeout eller nekad anslutning enbart från din adress. Ett test från ett annat nätverk visar det snabbt. Kontrollera också om porten har ändrats med Port eller om lyssningen har begränsats till en enda adress med ListenAddress i sshd_config eller i en fil under /etc/ssh/sshd_config.d.

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

Portanslutningen fungerar men inloggningen hänger sig

Om TCP-anslutningen lyckas men SSH:s inledande identifieringsmeddelande aldrig kommer fram fungerar sshd bara delvis eller så är systemet överbelastat. Kontrollera minne, diskutrymme och belastning via konsolen. En full disk eller slut på minne kan stoppa nya sessioner medan befintliga tjänster fortfarande svarar.

uptime
free -h
df -h

Kontrollera med CH-J Server Manager

Server Diagnostics kan testa ping, en TCP-anslutning och SSH:s identifieringssträng utan inloggning, för både IPv4 och IPv6, så att du ser vilket steg som misslyckas. Testerna görs enbart från din dator. Verktyget kan inte se in i servern eller avgöra vilken brandvägg som kastade bort ett paket, så du behöver fortfarande konsolen för kontrollerna ovan.

Detaljerad dokumentation

OpenSSH: sshd →

man: ss →

Biometrisk upplåsning och säkerhet →