Ako opraviť: Pripojenie odmietnuté portom 22 Debian/Ubuntu

How Fix Connection Refused Port 22 Debian Ubuntu



SSH poskytuje bezpečný spôsob prístupu a správy serverov Linux. Niekedy sa pri pripájaní k serverom SSH používatelia často stretávajú s chybou Pripojenie odmietlo prostredníctvom portu 22. Stáva sa to z niekoľkých dôvodov, napríklad keď nie je spustená služba SSH, port je zablokovaný bránou firewall alebo server používa iný port. K tomu môže dôjsť aj kvôli problému s konfliktom IP. V tomto článku budeme diskutovať o niektorých riešeniach, ktoré by ste mali vyskúšať, aby ste chybu odstránili.

Poznámka: Tu diskutované príkazy boli testované na Ubuntu 20.04 LTS. Rovnaké príkazy platia aj pre systém Debian.







Opraviť chybu odmietnutia pripojenia

Toto je chyba odmietnutia pripojenia, s ktorou sa môžete stretnúť pri pripájaní k vzdialenému systému cez SSH.





Pri riešení chyby Odmietnuté pripojenie postupujte krok za krokom podľa nižšie uvedených riešení.





Uistite sa, že je nainštalovaný OpenSSH

Jeden z dôvodov, prečo sa vám môže zobraziť chyba odmietnutia pripojenia, je ten, že server OpenSSH nie je nainštalovaný na cieľovom serveri.

Najprv sa musíte uistiť, že server OpenSSH je nainštalovaný v systéme, ku ktorému sa pokúšate pristupovať prostredníctvom SSH. Ak chcete skontrolovať, či je alebo nie je nainštalovaný OpenSSH, zadajte do terminálu cieľového servera nasledujúci príkaz:



$sudovýstižný zoznam-nainštalované | uchopenieopenssh-server

Tento príkaz v zásade filtruje výraz openssh-server zo zoznamu nainštalovaných balíkov. Ak dostanete nasledujúci podobný výstup, znamená to, že je nainštalovaný server OpenSSH. Na druhej strane, ak nedostanete žiadny výstup, znamená to, že na cieľovom serveri chýba OpenSSH.

V prípade, že nie je nainštalovaný na cieľovom serveri, môžete ho nainštalovať pomocou nasledujúceho príkazu ako sudo:

$sudovýstižnýInštaláciaopenssh-server

Potom zadajte heslo sudo a po výzve na potvrdenie stlačte „y“. Po inštalácii ho potvrďte rovnakým príkazom

$sudovýstižný zoznam-nainštalované | uchopenieopenssh-server

Skontrolujte službu SSH

Služba OpenSSH beží na pozadí a počúva prichádzajúce pripojenia. Zastavená služba OpenSSH môže byť jedným z dôvodov, prečo sa vám zobrazuje chyba odmietnutia pripojenia.

Preto je potrebné skontrolovať, či je služba OpenSSH spustená alebo nie, pomocou nasledujúceho príkazu v termináli:

$sudoslužbasshpostavenie

Ak vidíte nasledujúci výstup, znamená to, že služba je aktívna a beží na pozadí.

Na druhej strane, ak dostanete neaktívny (mŕtvy), to znamená, že služba nie je spustená . Službu OpenSSH môžete spustiť pomocou nasledujúceho príkazu ako sudo v termináli:

$sudoslužbasshzačať

Ak chcete službu reštartovať, použite nasledujúci príkaz:

$sudoslužbasshreštart

Skontrolujte port počúvania servera SSH

Ďalším dôvodom, prečo sa zobrazuje chyba odmietnutia pripojenia, je to, že sa pokúšate pripojiť k nesprávnemu portu. Ak je server napríklad nakonfigurovaný na počúvanie na porte 2244 a pokúšate sa pripojiť k jeho predvolenému portu 22, v takom prípade sa zobrazí chyba Pripojenie odmietlo.

Pred pokusom o pripojenie musíte skontrolovať port počúvania servera SSH. Ak je to predvolený port (22), môžete ho pripojiť pomocou nasledujúceho príkazu:

$ssh [používateľské meno]@[diaľkový server IP alebomeno hosťa]

Ak je to iný port ako predvolený, budete sa musieť pripojiť k serveru SSH pomocou tohto portu:

$ssh -p [číslo portu] [používateľské meno]@[IP adresa]

Aby ste zistili, na ktorom porte server OpenSSH počúva; v Termináli použite nasledujúci príkaz:

$sudo netstat -ltnp | uchopeniesshd

Dostanete výstup podobný nasledujúcemu:

V treťom stĺpci vidíte port počúvania servera 2244. V takom prípade sa budete musieť pripojiť k serveru SSH pomocou tohto portu.

$ssh -p [2244] [používateľské meno]@[IP adresa]

Povoliť SSH vo firewalle

Brána firewall blokujúca port SSH môže byť ďalším hlavným dôvodom chyby Chyba odmietnutia pripojenia. Ak je na serveri SSH spustený firewall, budete na ňom musieť povoliť port SSH pomocou nasledujúceho príkazu. Vymeňte prístav podľa čísla portu, ktorý server SSH počúva:

$sudoufw povoliť port/tcp

Ak napríklad server SSH počúva port 2244, môžete ho vo firewalle povoliť ako:

$sudoufw povoliť2244/tcp

Znova načítajte bránu firewall pomocou nasledujúceho príkazu:

$sudoufw znova načítať

Ak chcete potvrdiť, či boli pravidlá pridané, skontrolujte stav brány firewall pomocou nasledujúceho príkazu v termináli:

$sudostav ufw

Nasledujúci výstup ukazuje, že port 2244 je v bráne firewall povolený.

Vyriešiť duplicitný konflikt IP adries

Chyba odmietnutia pripojenia sa môže vyskytnúť aj z dôvodu konfliktu duplicitných adries IP. Uistite sa teda, že systém nemá duplicitnú adresu IP.

Nainštalujte obslužný program arping do systému pomocou nasledujúceho príkazu:

$sudovýstižnýInštaláciaarping

Potom pingnite adresu IP servera SSH.

$ping <IP adresa>

Ak vo výstupe vidíte odpoveď z viac ako jednej adresy MAC, ukazuje to, že v systéme beží duplicitná adresa IP. Ak je to tak, zmeňte IP adresu servera SSH a skúste sa znova pripojiť s novou IP adresou.

Takto opravíte chybu odmietnutia pripojenia portom 22 v systémoch Linux. V tomto článku sme popísali niekoľko spôsobov, ktoré vám určite pomôžu pri riešení chyby Pripojenie odmietlo.