Jak naprawić: Połączenie odrzucone przez port 22 Debian/Ubuntu

How Fix Connection Refused Port 22 Debian Ubuntu



SSH zapewnia bezpieczny sposób uzyskiwania dostępu do serwerów Linux i zarządzania nimi. Czasami podczas łączenia się z serwerami SSH użytkownicy często napotykają błąd połączenia odrzuconego na porcie 22. Dzieje się tak z kilku powodów, takich jak niedziałająca usługa SSH, port jest zablokowany przez firewall lub serwer używa innego portu. Może to również wystąpić z powodu problemu z konfliktem adresów IP. W tym artykule omówimy niektóre rozwiązania, które powinieneś wypróbować, aby naprawić błąd.

Notatka: Omówione tutaj polecenia zostały przetestowane na Ubuntu 20.04 LTS. Te same polecenia obowiązują również w systemie Debian.







Napraw błąd odmowy połączenia

Jest to błąd Odmowa połączenia, który możesz napotkać podczas łączenia się ze zdalnym systemem przez SSH.





Postępuj zgodnie z poniższymi rozwiązaniami krok po kroku, aby rozwiązać błąd połączenia odrzuconego.





Upewnij się, że OpenSSH jest zainstalowany

Jednym z powodów, dla których może pojawić się błąd Odmowa połączenia, jest to, że serwer OpenSSH nie jest zainstalowany na serwerze docelowym.

Najpierw musisz upewnić się, że serwer OpenSSH jest zainstalowany w systemie, do którego próbujesz uzyskać dostęp przez SSH. Aby sprawdzić, czy OpenSSH jest zainstalowany, wydaj następujące polecenie w Terminalu serwera docelowego:



$sudotrafna lista--zainstalowany | chwytopensh-serwer

To polecenie zasadniczo filtruje termin openssh-server z listy zainstalowanych pakietów. Jeśli otrzymasz następujące podobne dane wyjściowe, oznacza to, że serwer OpenSSH jest zainstalowany. Z drugiej strony, jeśli nie otrzymasz żadnych danych wyjściowych, oznacza to, że na serwerze docelowym brakuje OpenSSH.

Jeśli nie jest zainstalowany na serwerze docelowym, możesz go zainstalować za pomocą następującego polecenia jako sudo:

$sudotrafnyzainstalowaćopensh-serwer

Następnie wpisz hasło sudo, a gdy zostaniesz poproszony o potwierdzenie, naciśnij „y”. Po zainstalowaniu potwierdź za pomocą tego samego polecenia

$sudotrafna lista--zainstalowany | chwytopensh-serwer

Sprawdź usługę SSH

Usługa OpenSSH działa w tle i nasłuchuje połączeń przychodzących. Zatrzymana usługa OpenSSH może być jednym z powodów, dla których otrzymujesz błąd Odmowa połączenia.

Dlatego konieczne jest sprawdzenie, czy usługa OpenSSH jest uruchomiona, czy nie za pomocą następującego polecenia w Terminalu:

$sudousługaciszastatus

Jeśli zobaczysz następujące dane wyjściowe, oznacza to, że usługa jest aktywna i działa w tle.

Z drugiej strony, jeśli otrzymasz nieaktywny (martwy), oznacza to, że usługa nie działa . Możesz uruchomić usługę OpenSSH za pomocą następującego polecenia jako sudo w Terminalu:

$sudousługaciszapoczątek

Aby ponownie uruchomić usługę, użyj następującego polecenia:

$sudousługaciszauruchom ponownie

Sprawdź port nasłuchiwania serwera SSH

Innym powodem otrzymania błędu Odmowa połączenia jest próba połączenia z niewłaściwym portem. Na przykład, jeśli serwer jest skonfigurowany do nasłuchiwania na porcie 2244 i próbujesz połączyć się z jego domyślnym portem 22, wtedy w takim przypadku pojawi się błąd Odmowa połączenia.

Przed próbą połączenia musisz sprawdzić port nasłuchiwania serwera SSH. Jeśli jest to port domyślny (22), możesz podłączyć go za pomocą następującego polecenia:

$cisza [Nazwa Użytkownika]@[IP zdalnego serwera lubnazwa hosta]

Jeśli jest to inny port niż domyślny, będziesz musiał połączyć się z serwerem SSH za pomocą tego portu:

$cisza -P [numer portu] [Nazwa Użytkownika]@[adres IP]

Aby sprawdzić, na którym porcie nasłuchuje serwer OpenSSH; użyj następującego polecenia w Terminalu:

$sudo netstat -ltnp | chwytsshd

Otrzymasz wynik podobny do następującego:

W trzeciej kolumnie możesz zobaczyć port nasłuchiwania serwera to 2244. W takim przypadku będziesz musiał połączyć się z serwerem SSH za pomocą tego portu.

$cisza -P [2244] [Nazwa Użytkownika]@[adres IP]

Zezwól na SSH w zaporze

Zapora blokująca port SSH może być kolejnym ważnym powodem błędu odrzucenia połączenia. Jeśli na serwerze SSH działa zapora, musisz zezwolić na jej port SSH za pomocą następującego polecenia. Zastąpić Port według numeru portu, którego nasłuchuje serwer SSH:

$sudoufw zezwalaj na port/tcp

Na przykład, jeśli serwer SSH nasłuchuje na porcie 2244, możesz zezwolić na to w zaporze jako:

$sudoufw zezwól2244/tcp

Załaduj ponownie zaporę za pomocą następującego polecenia:

$sudoufw przeładuj

W celu potwierdzenia, czy reguły zostały dodane, sprawdź stan zapory za pomocą następującego polecenia w Terminalu:

$sudostatus ufw

Poniższe dane wyjściowe pokazują, że port 2244 jest dozwolony w zaporze.

Rozwiąż konflikt zduplikowanych adresów IP

Błąd połączenia odrzuconego może również wystąpić z powodu konfliktu zduplikowanych adresów IP. Upewnij się więc, że system nie ma zduplikowanego adresu IP.

Zainstaluj narzędzie arping w swoim systemie za pomocą następującego polecenia:

$sudotrafnyzainstalowaćarping

Następnie pinguj adres IP serwera SSH.

$świst <adres IP>

Na wyjściu, jeśli zobaczysz odpowiedź z więcej niż jednego adresu MAC, oznacza to, że w systemie działa zduplikowany adres IP. W takim przypadku zmień adres IP serwera SSH i spróbuj ponownie połączyć się z nowym adresem IP.

Oto jak naprawić błąd odmowy połączenia przez port 22 w systemach Linux. W tym artykule opisaliśmy kilka sposobów, które z pewnością pomogą Ci rozwiązać problem z odmową połączenia.