Poznámka: Zde popsané příkazy byly testovány na Ubuntu 20.04 LTS. Stejné příkazy jsou platné i pro systém Debian.
Opravit chybu odmítnutí připojení
Toto je chyba „Připojení odmítnuto“, na které můžete narazit 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 „Připojení odmítnuto“, je skutečnost, že na cílovém serveru není nainstalován server OpenSSH.
Nejprve se musíte ujistit, že je v systému, ke kterému se pokoušíte získat přístup přes SSH, nainstalován server OpenSSH. Chcete-li zkontrolovat, zda je OpenSSH nainstalován, či nikoli, zadejte v terminálu cílového serveru následující příkaz:
$ sudo apt list - nainstalován | grep openssh-serverTento příkaz v zásadě filtruje výraz „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:
$ sudo apt install openssh-serverPoté zadejte sudo heslo a když budete požádáni o potvrzení, stiskněte 'y'. Po instalaci jej potvrďte pomocí stejného příkazu
$ sudo apt list - nainstalován | grep openssh-serverZkontrolujte 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 zobrazuje chyba „Připojení odmítnuto“.
Proto je nutné zkontrolovat, zda je služba OpenSSH spuštěna nebo ne, pomocí následujícího příkazu v Terminálu:
Stav ssh služby $ sudoPokud 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:
$ sudo service ssh startChcete-li službu restartovat, použijte následující příkaz:
$ sudo service ssh restartZkontrolujte naslouchací port serveru SSH
Dalším důvodem, proč se zobrazuje chyba „Připojení odmítnuto“, je to, že se pokoušíte připojit k nesprávné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, v tomto případě se zobrazí chyba „Connection odmietnuto“.
Před pokusem o připojení musíte 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] @ [IP vzdáleného serveru nebo název 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]Za účelem kontroly, na kterém portu poslouchá server OpenSSH; použijte následující příkaz v Terminálu:
$ sudo netstat -ltnp | grep sshdObdržíte výstup podobný tomuto:
Ve třetím sloupci můžete vidět, že port naslouchání serveru je 2244. Pokud je to váš případ, budete se muset připojit k serveru SSH pomocí tohoto portu.
$ ssh -p [2244] [uživatelské jméno] @ [ip_adresa]Povolit SSH ve firewallu
Brána 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ěna brána firewall, budete muset povolit port SSH na něm pomocí následujícího příkazu. Nahradit přístav podle čísla portu, který server SSH poslouchá:
$ sudo ufw povolit port / tcpNapříklad pokud server SSH poslouchá port 2244, můžete jej ve firewallu povolit jako:
$ sudo ufw povolit 2244 / tcp
Znovu načtěte bránu firewall pomocí následujícího příkazu:
$ sudo ufw znovu načístChcete-li ověřit, zda byla pravidla přidána, zkontrolujte stav brány firewall pomocí následujícího příkazu v Terminálu:
stav $ sudo ufwNásledující výstup ukazuje, že port 2244 je ve firewallu povolen.
Vyřešte konflikt duplicitních IP adres
K chybě „Připojení odmítnuto“ může dojít také kvůli konfliktu duplicitních IP adres. Ujistěte se tedy, že systém nemá duplicitní adresu IP.
Nainstalujte nástroj arping na svůj systém pomocí následujícího příkazu:
$ sudo apt install arpingPoté proveďte příkaz ping na adresu IP serveru SSH.
$ pingPokud na výstupu vidíte odpověď z více než jedné adresy MAC, znamená to, že v systému běží duplicitní adresa IP. V takovém případě změňte adresu IP serveru SSH a zkuste se znovu připojit s novou adresou IP.
Takto lze opravit chybu „Connection odmietnuto“ portem 22 v systémech Linux. V tomto článku jsme popsali několik způsobů, které vám jistě pomohou vyřešit chybu „Připojení odmítnuto“.