GNU/Linux >> Znalost Linux >  >> Ubuntu

Jak opravit chybu odmítnutí připojení SSH

Úvod

Máte problémy s přístupem ke vzdálenému serveru přes SSH? Pokud SSH odpoví zprávou „Připojení odmítnuto“, možná budete muset upravit požadavek nebo zkontrolovat nastavení.

V tomto tutoriálu najdete nejčastější důvody chyby odmítnutí připojení SSH.

Proč je připojení odmítnuto, když jsem SSH?

Existuje mnoho důvodů, proč se vám může zobrazit „Připojení odmítnuto " chyba při pokusu o připojení SSH na váš server. Chcete-li tento problém vyřešit, musíte nejprve zjistit, proč systém odmítl vaše připojení přes SSH.

Níže naleznete některé z nejčastějších důvodů, které mohou způsobit odmítnutí připojení SSH.

Klient SSH není nainstalován

Před odstraňováním dalších problémů je prvním krokem zkontrolovat, zda máte správně nainstalováno SSH. Počítač, ze kterého k serveru přistupujete, by měl mít nastaveného klienta SSH. Bez správného nastavení klienta se nemůžete připojit k serveru.

Chcete-li zkontrolovat, zda máte ve svém systému klienta SSH, zadejte do okna terminálu následující:

ssh

Pokud terminál poskytuje seznam ssh možnosti příkazu, je v systému nainstalován klient SSH. Pokud však odpoví příkaz nenalezen , musíte nainstalovat klienta OpenSSH.

Řešení:Nainstalujte klienta SSH

Chcete-li nainstalovat klienta SSH na váš počítač, otevřete terminál a spusťte jeden z níže uvedených příkazů.

Pro systémy Ubuntu/Debian:

sudo apt install openssh-client

Pro systémy CentOS/RHEL:

sudo yum install openssh-client

Démon SSH není nainstalován na serveru

Stejně jako potřebujete klientskou verzi SSH pro přístup ke vzdálenému serveru, potřebujete verzi serveru pro naslouchání a přijímání připojení. Server proto může odmítnout příchozí spojení, pokud chybí server SSH nebo nastavení není platné.

Chcete-li zkontrolovat, zda je na vzdáleném serveru dostupné SSH, spusťte příkaz:

ssh localhost

Pokud výstup odpoví „Připojení odmítnuto ", přejděte k instalaci SSH na server.

Řešení:Nainstalujte SSH na vzdálený server

Chcete-li vyřešit problém s chybějícím serverem SSH, přečtěte si, jak nainstalovat server OpenSSH.

Přihlašovací údaje jsou nesprávné

Překlepy nebo nesprávné přihlašovací údaje jsou běžnými důvody odmítnutí připojení SSH. Ujistěte se, že uživatelské jméno nezadáváte špatně nebo heslo .

Poté zkontrolujte, zda používáte správnou IP adresu serveru.

Nakonec ověřte, že máte správný port SSH OTEVŘENO. Můžete to zkontrolovat spuštěním:

grep Port /etc/ssh/sshd_config

Výstup zobrazuje číslo portu, jako na obrázku níže.

Služba SSH nefunguje

Služba SSH musí být povolena a spuštěna na pozadí. Pokud je služba mimo provoz, démon SSH nemůže přijímat připojení.

Chcete-li zkontrolovat stav služby, zadejte tento příkaz:

sudo service ssh status

Výstup by měl odpovědět, že služba je aktivní. Pokud terminál odpoví, že služba nefunguje, povolte ji, aby se problém vyřešil.

Řešení:Povolte službu SSH

Pokud systém ukazuje, že démon SSH není aktivní, můžete službu spustit spuštěním:

systemctl start sshd

Chcete-li povolit spuštění služby při spouštění, spusťte příkaz:

sudo systemctl enable sshd

Firewall brání připojení SSH

SSH může odmítnout připojení kvůli omezením brány firewall. Brána firewall chrání server před potenciálně škodlivými připojeními. Pokud však máte v systému nastaveno SSH, musíte nakonfigurovat bránu firewall tak, aby umožňovala připojení SSH.

Ujistěte se, že brána firewall neblokuje připojení SSH, protože to může způsobit „připojení odmítnuto "chyba."

Řešení:Povolte připojení SSH přes bránu firewall

K vyřešení problému, který jsme zmínili výše, můžete použít ufw (Uncomplicated Firewall), nástroj rozhraní příkazového řádku pro správu konfigurace brány firewall.

Chcete-li povolit připojení SSH, zadejte do okna terminálu následující příkaz:

sudo ufw allow ssh

Port SSH je uzavřen

Když se pokusíte o připojení ke vzdálenému serveru, SSH odešle požadavek na konkrétní port. K přijetí tohoto požadavku musí mít server otevřený port SSH.

Pokud je port uzavřen, server odmítne připojení.

Ve výchozím nastavení používá SSH port 22. Pokud jste na portu neprovedli žádné konfigurační změny, můžete zkontrolovat, zda server naslouchá příchozím požadavkům.

Chcete-li zobrazit seznam všech portů, které naslouchají, spusťte:

sudo lsof -i -n -P | grep LISTEN

Najděte port 22 ve výstupu a zkontrolujte, zda je STATE je nastaveno na POSLOUCHAT .

Případně můžete zkontrolovat, zda je otevřený konkrétní port, v tomto případě port 22:

sudo lsof -i:22

Řešení:Otevřete port SSH

Chcete-li povolit portu 22 pro POSLECHNUTÍ požadavků, použijte iptables příkaz:

sudo iptables -A INPUT -p tcp --dport 22 -m conntrack --ctstate NEW,ESTABLISHED -j ACCEPT

Porty můžete otevřít také prostřednictvím GUI změnou nastavení brány firewall.

Ladění a protokolování SSH

Chcete-li analyzovat problémy SSH v Linuxu, můžete zapnout podrobný režim nebo ladění režimu . Když povolíte tento režim, SSH vytiskne ladicí zprávy, které pomáhají odstraňovat problémy s připojením, konfigurací a ověřováním.

Existují tři úrovně výřečnosti:

  • úroveň 1 (-v )
  • úroveň 2 (-vv )
  • úroveň 3 (-vvv )

Proto místo přístupu ke vzdálenému serveru pomocí syntaxe ssh [server_ip] přidejte -v volbu a spusťte:

ssh -v [server_ip]

Případně můžete použít:

ssh -vv [server_ip]

nebo

ssh -vvv [server_ip]

Ubuntu
  1. Připojení Ssh odmítnuto zevnitř sítě Lan?

  2. Jak směrovat internet přes Ssh tunel?

  3. Oprava ::Chyba připojení Linux SSH byla odmítnuta

  1. Jak zvýšit časový limit připojení SSH

  2. Jak opravit chybu wget Connection Refused Error, když jsem za proxy

  3. Jak opravit chybu „Ověření klíče hostitele se nezdařilo“

  1. Jak se připojit k serveru pomocí funkce BMC Remote Console

  2. Jak zkontrolovat rychlost vašeho ssh připojení

  3. Jak ukončím připojení SSH?