Oprava: Připojení odmítnuto portem 22 Debian/Ubuntu

How Fix Connection Refused Port 22 Debian Ubuntu



SSH poskytuje bezpečný způsob přístupu a správy serverů Linux. Někdy se při připojování k serverům SSH uživatelé často setkávají s chybou Připojení odmítnuto portem 22. Stává se to z několika důvodů, jako například není spuštěna služba SSH, port je blokován bránou firewall nebo server používá jiný port. Může k tomu také dojít kvůli problému s konfliktem IP. V tomto článku probereme některá řešení, která byste měli vyzkoušet, abyste chybu opravili.

Poznámka: Zde diskutované příkazy byly testovány na Ubuntu 20.04 LTS. Stejné příkazy platí také pro systém Debian.







Opravit chybu připojení odmítnuto

Toto je chyba odmítnutí připojení, se kterou se můžete setkat při připojování ke vzdálenému systému přes SSH.





Postupujte podle níže uvedených řešení krok za krokem, abyste vyřešili chybu Připojení odmítnuto.





Ujistěte se, že je nainstalován OpenSSH

Jedním z důvodů, proč se může zobrazit chyba Odmítnuto připojení, je to, že na cílovém serveru není nainstalován server OpenSSH.

Nejprve se musíte ujistit, že je server OpenSSH nainstalován v systému, ke kterému se pokoušíte přistupovat přes SSH. Chcete -li zkontrolovat, zda je OpenSSH nainstalován nebo ne, zadejte do terminálu cílového serveru následující příkaz:



$sudovýstižný seznam-nainstalováno | rukojeťopenssh-server

Tento příkaz v podstatě filtruje termín openssh-server ze seznamu nainstalovaných balíčků. Pokud obdržíte následující podobný výstup, znamená to, že je nainstalován server OpenSSH. Na druhou stranu, pokud neobdržíte žádný výstup, znamená to, že na cílovém serveru chybí OpenSSH.

V případě, že není nainstalován na cílovém serveru, můžete jej nainstalovat pomocí následujícího příkazu jako sudo:

$sudovýstižnýNainstalujteopenssh-server

Poté zadejte heslo sudo a po vyzvání k potvrzení stiskněte „y“. Jakmile je nainstalován, potvrďte jej stejným příkazem

$sudovýstižný seznam-nainstalováno | rukojeťopenssh-server

Zkontrolujte službu SSH

Služba OpenSSH běží na pozadí a poslouchá příchozí připojení. Zastavená služba OpenSSH může být jedním z důvodů, proč se vám zobrazuje chyba Odmítnuto připojení.

Proto je nutné pomocí následujícího příkazu v Terminálu zkontrolovat, zda je služba OpenSSH spuštěna nebo ne:

$sudoservissshpostavení

Pokud vidíte následující výstup, znamená to, že služba je aktivní a běží na pozadí.

Na druhou stranu, pokud obdržíte neaktivní (mrtvý), to znamená, že služba není spuštěna . Službu OpenSSH můžete spustit pomocí následujícího příkazu jako sudo v Terminálu:

$sudoservissshStart

Chcete -li službu restartovat, použijte následující příkaz:

$sudoservissshrestartovat

Zkontrolujte port naslouchání serveru SSH

Dalším důvodem pro přijetí chyby odmítnutí připojení je to, že se pokoušíte připojit ke špatnému portu. Pokud je například server nakonfigurován pro naslouchání na portu 2244 a pokoušíte se připojit k jeho výchozímu portu 22, zobrazí se v tomto případě chyba Připojení odmítnuto.

Před pokusem o připojení je třeba zkontrolovat naslouchací port serveru SSH. Pokud je to výchozí port (22), můžete jej připojit pomocí následujícího příkazu:

$ssh [uživatelské jméno]@[vzdálený server IP nebojméno hostitele]

Pokud se jedná o jiný port než výchozí, budete se muset připojit k serveru SSH pomocí tohoto portu:

$ssh -p [číslo_portu] [uživatelské jméno]@[IP adresa]

Chcete -li zkontrolovat, na kterém portu server OpenSSH poslouchá; v Terminálu použijte následující příkaz:

$sudo netstat -ltnp | rukojeťsshd

Získáte výstup podobný následujícímu:

Ve třetím sloupci můžete vidět, že server naslouchá na portu 2244. V takovém případě se budete muset připojit k serveru SSH pomocí tohoto portu.

$ssh -p [2244] [uživatelské jméno]@[IP adresa]

Povolit SSH ve firewallu

Firewall blokující port SSH může být dalším hlavním důvodem chyby Připojení odmítnuto. Pokud je na serveru SSH spuštěn firewall, budete na něm muset povolit port SSH pomocí následujícího příkazu. Nahradit přístav podle čísla portu, který server SSH poslouchá:

$sudoufw povolit port/tcp

Pokud například server SSH naslouchá portu 2244, můžete jej ve firewallu povolit jako:

$sudoufw povolit2244/tcp

Znovu načtěte bránu firewall pomocí následujícího příkazu:

$sudoufw znovu načíst

Chcete -li potvrdit, zda byla pravidla přidána, zkontrolujte stav brány firewall pomocí následujícího příkazu v Terminálu:

$sudostav ufw

Následující výstup ukazuje, že port 2244 je povolen v bráně firewall.

Vyřešit duplicitní konflikt IP adres

Chyba odmítnutí připojení může také nastat kvůli duplicitnímu konfliktu IP adres. Ujistěte se tedy, že systém nemá duplicitní IP adresu.

Nainstalujte si do systému obslužný program arping pomocí následujícího příkazu:

$sudovýstižnýNainstalujtearping

Poté pingněte IP adresu serveru SSH.

$ping <IP adresa>

Pokud na výstupu vidíte odpověď z více než jedné adresy MAC, ukazuje to, že v systému běží duplicitní adresa IP. V takovém případě změňte IP adresu serveru SSH a zkuste se znovu připojit s novou IP adresou.

Takto lze opravit chybu Odmítnuto připojení portem 22 v systémech Linux. V tomto článku jsme popsali několik způsobů, které vám určitě pomohou při řešení chyby Odmítnuto připojení.