Čtenáři jako vy pomáhají podporovat MUO. Když provedete nákup pomocí odkazů na našich stránkách, můžeme získat provizi přidružené společnosti. Přečtěte si více.

SSH je síťový protokol, který umožňuje bezpečný přístup a správu vzdáleného systému přes síť. Při připojování ke vzdálenému počítači přes SSH jste mohli narazit na chybu „připojení odmítnuto“. Tento problém může být frustrující, zejména pokud jste správce systému a musíte naléhavě provádět některé úkoly na vzdáleném systému.

Podívejme se na některé možné příčiny chyby SSH „připojení odmítnuto“ a způsoby, jak ji vyřešit.

1. Zkontrolujte, zda je nainstalován server SSH

Jednou z možných příčin chyby „připojení odmítnuto“ je, že vzdálený počítač neběží SSH server. Bez serveru SSH nebude stroj přijímat příchozí připojení SSH a nebudete k němu mít vzdálený přístup.

Takže úplně prvním krokem při řešení chyby je zkontrolovat, zda je na vzdáleném počítači nainstalován server SSH. Pomocí následujícího příkazu ověřte instalaci serveru SSH:

V distribucích založených na Debianu:

instagram viewer
dpkg --seznam | grep ssh

U distribucí založených na RHEL:

yum seznam nainstalován | grep ssh

Na openSUSE:

zypper hledat -i | grep ssh

V distribucích založených na Arch:

pacman -Q | grep ssh

Pokud je na vzdáleném počítači nainstalován SSH server, uvidíte jej ve výstupu. Jinak musíte nainstalujte OpenSSH server na vzdálený počítač chcete přistupovat přes SSH. OpenSSH je open-source verze nástrojů SSH pro vzdálený přístup a ovládání systémů.

Chcete-li nainstalovat server OpenSSH, použijte následující příkazy:

V distribucích založených na Debianu:

sudo apt install openssh-server

U distribucí založených na RHEL:

sudo yum nainstalovat openssh-server

Na openSUSE:

sudo zypper nainstalovat openssh

V distribucích založených na Arch:

pacman -S openssh

2. Zkontrolujte stav služby SSH

Dalším důvodem pro získání chyby „připojení odmítnuto“ může být to, že služba SSH je zakázána nebo neběží na vzdáleném počítači. Jakmile jste si jisti, že je server SSH nainstalován, druhou věcí, kterou musíte zkontrolovat, je stav serveru.

sudo systemctl status sshd

Pokud je služba spuštěna, výstup bude indikovat jako aktivní (běžící). Jinak uvidíte něco podobného neaktivní (mrtvý).

Pokud SSH server neběží, můžete jej spustit ručně pomocí následujícího příkazu:

sudo systemctl spustit sshd

Můžete také povolit automatické spouštění služby při spouštění pomocí:

sudo systemctl povolit sshd

3. Zkontrolujte port SSH

Ve výchozím nastavení běží SSH server na portu 22. Výchozí port však lze změnit. Pokud se vám tedy zobrazí chyba SSH „připojení odmítnuto“, může to být způsobeno tím, že se pokoušíte připojit k serveru SSH na výchozím portu 22, zatímco běží na jiném portu.

Můžeš použijte příkaz netstat pomocí grep najděte port, na kterém SSH server naslouchá:

sudo netstat -plntu | grep ssh

Port SSH můžete také najít z sshd_config soubor pomocí následujícího příkazu:

grep port /etc/ssh/sshd_config

Po identifikaci správného portu SSH se zkuste připojit ke vzdálenému systému pomocí tohoto konkrétního portu.

4. Zkontrolujte svůj systémový firewall

K většině problémů s připojením dochází v důsledku toho, že firewall vašeho počítače blokuje některé porty nebo služby. Pokud má vzdálený počítač nainstalovaný a spuštěný server SSH, dalším krokem je kontrola brány firewall.

Chcete-li zjistit, zda brána firewall blokuje připojení, dočasně ji deaktivujte pomocí následujících příkazů:

V distribucích Linuxu Debian a Arch:

sudo ufw zakázat

V distribucích založených na RHEL a openSUSE:

sudo systemctl zakázat firewalld

Pokud se chyba po deaktivaci firewallu neobjeví, znamená to, že firewall blokoval připojení. V takovém případě znovu povolte bránu firewall a přidejte pravidlo, které povoluje SSH.

V distribucích Debianu a Linuxu založených na Arch použijte následující příkaz k povolení vstupu SSH firewall UFW:

sudo ufw povolit ssh

Případně můžete také povolit SSH podle čísla portu ve firewallu. Řekněme, že server SSH používá port 5555, pak byste pomocí následujícího příkazu jej povolili v bráně firewall:

sudo ufw povolit 5555

Chcete-li ověřit, zda bylo pravidlo úspěšně přidáno, zkontrolujte stav UFW:

stav sudo ufw

V distribucích založených na RHEL a openSUSE použijte následující příkaz k povolení SSH ve bráně firewall:

sudo firewall-cmd --permanent --add-service=ssh

Chcete-li povolit SSH podle čísla portu, použijte následující příkaz:

sudo firewall-cmd --permanent --add-port={port}/tcp

Pro SSH server běžící na portu 4444 by příkaz byl:

sudo firewall-cmd --permanent --add-port=4444/tcp

Chcete-li ověřit úspěšné přidání pravidla do brány firewall, spusťte:

sudo firewall-cmd --list-all

5. Řešení konfliktů IP adres

Existuje také možnost, že dojde k chybě SSH „připojení odmítnuto“ kvůli konfliktu IP serveru SSH s IP jiného systému v síti. K tomu dochází, když dva systémy v síti tvrdí, že mají stejnou IP adresu, což má za následek konflikt IP.

Chcete-li ověřit, zda je ve vaší síti konflikt IP, použijte nástroj arp-scan následovně:

arp-scan [id-sítě]

Pokud dojde ke konfliktu IP, uvidíte ve výstupu duplicitní IP adresu. Níže uvedený snímek obrazovky je příkladem konfliktu IP v síti:

Abyste předešli konfliktům IP, ujistěte se, že žádná zařízení nemají statické adresy IP, které se překrývají s adresami fondu DHCP.

Bonusový tip: Spusťte SSH v podrobném režimu

Kdykoli narazíte na chybu SSH, zkuste spustit příkaz ssh v podrobném režimu, abyste problém vystopovali. Chcete-li spustit SSH v podrobném režimu, použijte příkaz ssh s příponou -vvv možnost takto:

ssh -vvv uživatelské jméno@ip_adresa

V podrobném režimu uvidíte v každém kroku připojení ladicí zprávy, které vám pomohou pochopit, kde je problém.

Odstraňování problémů s chybou SSH „Připojení odmítnuto“ v systému Linux

Identifikací možných příčin chyby připojení SSH a implementací navrhovaných řešení budete moci odstraňovat a řešit chybu SSH „připojení odmítnuto“. Kromě těchto kroků se ujistěte, že se připojujete ke správné IP adrese a používáte správné přihlašovací údaje.

Aby bylo vaše vzdálené připojení bezpečnější, můžete v Linuxu nastavit dvoufaktorové ověřování pro SSH.