Cum se remediază: conexiunea refuzată de portul 22 Debian / Ubuntu

How Fix Connection Refused Port 22 Debian Ubuntu



SSH oferă un mod sigur de accesare și gestionare a serverelor Linux. Uneori, în timp ce se conectează la servere SSH, utilizatorii întâmpină adesea erori de conexiune refuzate de portul 22. Se întâmplă din mai multe motive, cum ar fi serviciul SSH nu funcționează, portul este blocat de firewall sau serverul folosește un alt port. Poate apărea și din cauza problemei conflictului IP. În acest articol, vom discuta câteva dintre soluțiile pe care ar trebui să le încercați pentru a remedia eroarea.

Notă: Comenzile discutate aici au fost testate pe Ubuntu 20.04 LTS. Aceleași comenzi sunt valabile și pentru sistemul Debian.







Remediere eroare conexiune refuzată

Aceasta este eroarea de refuzare a conexiunii pe care o puteți întâlni în timp ce vă conectați la un sistem la distanță prin SSH.





Urmați soluțiile de mai jos pas cu pas pentru a rezolva eroarea de refuzare a conexiunii.





Asigurați-vă că este instalat OpenSSH

Unul dintre motivele pentru care ați putea primi o eroare de conexiune refuzată este că serverul OpenSSH nu este instalat pe serverul țintă.

În primul rând, va trebui să vă asigurați că serverul OpenSSH este instalat pe sistemul la care încercați să accesați prin SSH. Pentru a verifica dacă OpenSSH este instalat sau nu, lansați următoarea comandă în Terminalul serverului țintă:



$sudolista apt--instalat | prindereopenssh-server

Această comandă filtrează practic termenul openssh-server din lista pachetelor instalate. Dacă primiți următoarea ieșire similară, aceasta indică faptul că serverul OpenSSH este instalat. Pe de altă parte, dacă nu primiți nicio ieșire, înseamnă că OpenSSH lipsește pe serverul țintă.

În cazul în care nu este instalat pe serverul țintă, îl puteți instala folosind următoarea comandă ca sudo:

$sudoaptinstalareopenssh-server

Apoi tastați parola sudo și, când vi se solicită confirmarea, apăsați pe „y”. Odată instalat, confirmați-l folosind aceeași comandă

$sudolista apt--instalat | prindereopenssh-server

Verificați serviciul SSH

Serviciul OpenSSH rulează în fundal și ascultă conexiunile primite. Serviciul OpenSSH oprit poate fi unul dintre motivele pentru care primiți o eroare de conexiune refuzată.

Prin urmare, este necesar să verificați dacă serviciul OpenSSH rulează sau nu utilizând următoarea comandă în Terminal:

$sudoserviciusshstare

Dacă vedeți următoarea ieșire, înseamnă că serviciul este activ și rulează în fundal.

Pe de altă parte, dacă primiți inactiv (mort), asta înseamnă că serviciul nu funcționează . Puteți rula serviciul OpenSSH folosind următoarea comandă ca sudo în Terminal:

$sudoserviciusshstart

Pentru a reporni serviciul, utilizați următoarea comandă:

$sudoserviciusshrepornire

Verificați portul de ascultare a serverului SSH

Un alt motiv pentru a primi o eroare de conexiune refuzată este că încercați să vă conectați la un port greșit. De exemplu, dacă serverul este configurat să asculte pe portul 2244 și încercați să vă conectați la portul său implicit 22, atunci, în acest caz, veți primi o eroare de conexiune refuzată.

Înainte de a încerca să vă conectați, trebuie să verificați portul de ascultare al serverului SSH. Dacă este portul implicit (22), îl puteți conecta folosind următoarea comandă:

$ssh [nume de utilizator]@[IP telecomandă saunumele gazdei]

Dacă este un alt port decât portul implicit, va trebui să vă conectați la serverul SSH folosind acest port:

$ssh -p [numarul portului] [nume de utilizator]@[adresa IP]

Pentru a verifica pe ce port ascultă serverul OpenSSH; utilizați următoarea comandă în Terminal:

$sudo netstat -ltnp | prinderesshd

Veți primi o ieșire similară cu următoarea:

În a treia coloană, puteți vedea că portul de ascultare al serverului este 2244. Dacă acesta este cazul, va trebui să vă conectați la serverul SSH folosind acest port.

$ssh -p [2244] [nume de utilizator]@[adresa IP]

Permiteți SSH în firewall

Paravanul de protecție care blochează portul SSH poate fi un alt motiv major pentru eroarea de refuzare a conexiunii. Dacă un server firewall rulează pe serverul SSH, va trebui să permiteți portul SSH din acesta utilizând următoarea comandă. Inlocuieste port după numărul de port pe care îl ascultă serverul SSH:

$sudoufw permite portul/tcp

De exemplu, dacă serverul SSH ascultă portul 2244, îl puteți permite în firewall ca:

$sudoufw permite2244/tcp

Reîncărcați paravanul de protecție folosind următoarea comandă:

$sudoufw reîncarcă

Pentru a confirma dacă regulile au fost adăugate, verificați starea firewall-ului folosind următoarea comandă din Terminal:

$sudostarea ufw

Următoarea ieșire arată că portul 2244 este permis în firewall.

Rezolvarea conflictului de adresă IP duplicat

Eroarea de refuzare a conexiunii poate apărea și din cauza conflictului de adrese IP duplicat. Deci, asigurați-vă că sistemul nu are o adresă IP duplicată.

Instalați utilitarul arping pe sistemul dvs. utilizând următoarea comandă:

$sudoaptinstalarearpare

Apoi faceți ping la adresa IP a serverului SSH.

$ping <adresa IP>

În ieșire, dacă vedeți răspunsul de la mai multe adrese MAC, atunci arată că există un IP duplicat care rulează pe sistem. Dacă acesta este cazul, modificați adresa IP a serverului SSH și încercați să vă conectați din nou cu noua adresă IP.

Acesta este modul în care se poate remedia eroarea conexiunii refuzate de portul 22 din sistemele Linux. În acest articol, am descris câteva moduri care cu siguranță vă vor ajuta să rezolvați eroarea conexiunii refuzate.