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-serverPotom 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-serverSkontrolujte 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žbasshpostavenieAk 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štartSkontrolujte 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 | uchopeniesshdDostanete 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/tcpAk 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 ufwNasledujú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áciaarpingPotom 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.