Cum să depanați SSH blocat la „stabilirea conexiunii la server”

Publicat: 2025-12-21

Secure Shell (SSH) este o componentă critică pentru gestionarea și administrarea de la distanță a serverelor. A fi blocat pe mesajul „Se stabilește conexiunea la server” din clientul SSH poate fi frustrant, mai ales dacă aveți de-a face cu medii de producție sau configurații sensibile la timp. Această problemă poate părea vagă, dar există mai multe cauze potențiale, de la configurări greșite ale rețelei până la problemele demonului SSH pe serverul țintă. Știind cum să depanați eficient conexiunea SSH vă va economisi timp și stres inutil.

TL;DR

Dacă sesiunea dvs. SSH este blocată la „Stabilirea conexiunii la server”, începeți prin a verifica disponibilitatea gazdei de destinație și conectivitatea la rețea. Confirmați că serviciul SSH rulează pe destinație și ascultă pe portul corect. Apoi verificați firewall-ul local, rezoluția DNS sau setările VPN. Utilizați înregistrarea SSH (-vvv) pentru mai multe informații în timpul încercării de conectare.

1. Confirmați conexiunea de bază la rețea

Înainte de a vă scufunda adânc în configurații și fișiere jurnal, începeți cu cele mai simple verificări:

  • Ping server:utilizațipingpentru a verifica dacă gazda este accesibilă.
  • Traceroute sau MTR:Acest lucru poate ajuta la determinarea dacă există un bloc de conectivitate la un hop de rețea între dvs. și serverul SSH.
  • Telnet sau Netcat:Încercați să accesați portul 22 (sau portul SSH personalizat) pentru a confirma că este accesibil: telnet your.server.ip 22 sau nc -zv your.server.ip 22

Dacă serverul nu răspunde la ping sau refuză portul SSH, atunci fie gazda este oprită, rețeaua blochează traficul sau SSH nu rulează corect pe server.

2. Utilizați modul Verbose pentru a obține informații

SSH oferă niveluri diferite de verbozitate care pot ajuta la identificarea locului în care apare întârzierea în procesul de conectare. Utilizați opțiunile-v,-vvsau-vvvpentru a obține rezultate mai detaliate:

 ssh -vvv [email protected]

Locațiile obișnuite în care modul verbose ajută includ:

  • Se verifică rezoluția DNS
  • Stabilirea dacă încercarea de conectare expiră la un anumit pas
  • Identificarea erorilor de schimb de chei sau de autentificare

3. Firewall și Setări grup de securitate

De multe ori, firewall-urile sau setările de securitate în cloud sunt vinovate. Ar trebui să verificați atât pe partea de client, cât și pe partea serverului:

  • Paravan de protecție la nivelul clientului:asigurați-vă că sunt permise conexiunile de ieșire pe portul 22 (sau portul dvs. SSH personalizat).
  • Firewall pe partea serverului:instrumente precumiptablessauufwar putea pierde traficul SSH de intrare.
  • Grupuri de securitate în cloud:în mediile AWS, GCP sau Azure, verificați dacă grupul de securitate vă permite IP-ul și portul corect.

Dacă conexiunea dvs. se blochează la „Stabilirea conexiunii”, poate indica faptul că pachetele sunt abandonate în tăcere, mai degrabă decât respinse în mod activ.

4. Verificați demonul SSH pe server

Dacă aveți acces alternativ la server (de exemplu, prin consolă, acces serial sau altă sesiune la distanță), conectați-vă direct și verificați serviciul SSH:

 sudo systemctl status sshd
 sudo netstat -tulpn | grep ssh

Lucruri la care să acordați atenție:

  • Este serviciul activ și rulează?
  • Ascultă pe IP-ul și portul așteptat?
  • Există modificări recente ale fișierului de configurare SSH (de obicei/etc/ssh/sshd_config) care ar putea cauza eșecuri?

Dacă SSH a fost recent reconfigurat sau repornit incorect, este posibil ca procesul să se fi blocat sau să nu răspundă la conexiunile de intrare.

5. Probleme de rezoluție DNS

Dacă vă conectați folosind un nume de gazdă mai degrabă decât o adresă IP, asigurați-vă că DNS se rezolvă corect:

 nslookup your.server.domain
 dig your.server.domain

Problemele cu setările DNS vă pot întârzia sau întrerupe conexiunea SSH dacă numele de gazdă nu poate fi rezolvat. De asemenea, verificați setările/etc/resolv.confsau DNS din router sau VPN.

6. Wrapper-uri TCP și restricții bazate pe gazdă

Pe unele distribuții Linux, wrapper-urile TCP — controlate prin/etc/hosts.allowși/etc/hosts.deny— pot restricționa accesul SSH:

  • Asigurați-vă că /etc/hosts.deny nu conține o linie precum sshd: ALL
  • Permiteți-vă în mod explicit IP-ul în /etc/hosts.allow cu sshd: your.ip.address

Deși pachetele TCP sunt în mare parte depreciate, sistemele vechi le pot folosi în continuare fără indicații clare în jurnale.

7. VPN sau interferență proxy

VPN-urile și anumite configurații de proxy pot interfera cu traficul SSH:

  • Verificați dacă VPN-ul dvs. este activ și direcționează corect traficul.
  • Dacă utilizați un tunel divizat VPN, verificați dacă traficul către serverul SSH este inclus în tunel.
  • Încercați să dezactivați temporar VPN-ul și să vă reconectați prin acces direct la internet.

În mod similar, proxy-urile corporative sau gateway-urile restrictive pot scăpa sau manipula pachetele SSH, ducând la blocarea sesiunii.

8. Probleme cheie SSH și întârzieri de autentificare

În timp ce erorile de autentificare returnează de obicei un mesaj clar „Permisiune refuzată”, uneori întârzierile mari în procesarea cheilor sau căutările autorizate ale cheilor pot imita o conexiune blocată.

  • Prea multe chei în directorul dvs. ~/.ssh pot încetini autentificarea. Utilizați IdentitiesOnly yes în~/.ssh/configpentru a reduce încercările.
  • Configurați o cheie specificată: ssh -i ~/.ssh/my_key user@host

9. Încărcarea serverului și constrângerile de resurse

Un server foarte încărcat poate încetini sau chiar bloca noile conexiuni SSH:

  • Verificați dacă există limite ridicate ale CPU, RAM sau proces pe server
  • Dacă accesul nu este posibil prin SSH, utilizați o consolă cloud pentru a inspecta starea sistemului

Situațiile cu memorie scăzută pot determinasshdsă se comporte neregulat sau pur și simplu să expire noile încercări de conectare.

10. Interzis temporar de Fail2Ban sau de instrumente similare

Instrumentele de securitate precum Fail2Ban sau DenyHosts pot bloca IP-urile care au eșuat autentificarea în mod repetat. Acest lucru poate duce la blocarea silențioasă a conexiunii:

  • Verificați dacă există interdicții IP în /var/log/fail2ban.log sau în jurnalele asociate
  • Lista albă IP-ul dvs. acolo unde este posibil sau accesați serverul dintr-o altă rețea

Concluzie

Problemele de conexiune SSH – în special atunci când sunt blocate pe „Stabilirea conexiunii la server” – pot proveni dintr-o varietate de factori, de la setările locale de firewall până la probleme de performanță ale serverului de la distanță. Este esențială o abordare disciplinată de depanare, care pornește de la testele de conectivitate de bază și progresează până la înregistrarea în profunzime și verificări de configurare. Folosind instrumente precum ieșirea SSH verbosă, revizuirea jurnalelor de sistem, validarea DNS și asigurarea că serverul dvs. răspunde, vă va ajuta să izolați eficient cauza principală.

Amintiți-vă: testați întotdeauna modificările treptat și faceți copii de rezervă ale tuturor configurațiilor pe care le modificați. În mediile cu disponibilitate ridicată, a avea o metodă de gestionare în afara benzii - cum ar fi IPMI, consolă serială sau acces la serverul primar - este crucială atunci când SSH nu răspunde.