Oplossen: verbinding geweigerd door poort 22 Debian/Ubuntu

How Fix Connection Refused Port 22 Debian Ubuntu



SSH biedt een veilige manier om toegang te krijgen tot Linux-servers en deze te beheren. Soms komen gebruikers tijdens het verbinden met SSH-servers vaak een Verbinding geweigerde fout tegen door poort 22. Dit gebeurt om verschillende redenen, zoals de SSH-service niet actief is, de poort wordt geblokkeerd door de firewall of de server een andere poort gebruikt. Het kan ook optreden vanwege het probleem met het IP-conflict. In dit artikel bespreken we enkele van de oplossingen die u moet proberen om de fout op te lossen.

Opmerking: De hier besproken commando's zijn getest op Ubuntu 20.04 LTS. Dezelfde opdrachten zijn ook geldig voor het Debian-systeem.







Fix Verbinding geweigerd fout

Dit is de verbinding geweigerd-fout die u kunt tegenkomen wanneer u verbinding maakt met een extern systeem via SSH.





Volg de onderstaande oplossingen stap voor stap om de fout Verbinding geweigerd op te lossen.





Zorg ervoor dat OpenSSH is geïnstalleerd

Een van de redenen waarom u de foutmelding Verbinding geweigerd kunt krijgen, is omdat de OpenSSH-server niet op de doelserver is geïnstalleerd.

Eerst moet u ervoor zorgen dat de OpenSSH-server is geïnstalleerd op het systeem waartoe u toegang probeert te krijgen via SSH. Om te controleren of OpenSSH is geïnstalleerd of niet, geeft u de volgende opdracht in de Terminal van de doelserver:



$sudogeschikte lijst--geïnstalleerd | greepopenssh-server

Deze opdracht filtert in feite de term openssh-server uit de lijst met geïnstalleerde pakketten. Als u de volgende soortgelijke uitvoer ontvangt, geeft dit aan dat de OpenSSH-server is geïnstalleerd. Aan de andere kant, als u geen uitvoer ontvangt, betekent dit dat OpenSSH ontbreekt op de doelserver.

Als het niet op de doelserver is geïnstalleerd, kunt u het installeren met de volgende opdracht als sudo:

$sudogeschiktinstallerenopenssh-server

Typ vervolgens sudo-wachtwoord en druk op 'y' wanneer om bevestiging wordt gevraagd. Eenmaal geïnstalleerd, bevestig het met dezelfde opdracht

$sudogeschikte lijst--geïnstalleerd | greepopenssh-server

Controleer SSH-service

OpenSSH-service draait op de achtergrond en luistert naar inkomende verbindingen. De gestopte OpenSSH-service kan een van de redenen zijn waarom u de foutmelding Verbinding geweigerd krijgt.

Daarom is het noodzakelijk om te controleren of de OpenSSH-service actief is of niet met behulp van de volgende opdracht in Terminal:

$sudoonderhoudsshtoestand

Als u de volgende uitvoer ziet, betekent dit dat de service actief is en op de achtergrond wordt uitgevoerd.

Aan de andere kant, als u ontvangt inactief (dood), dat betekent dat de service niet actief is . U kunt de OpenSSH-service uitvoeren met de volgende opdracht als sudo in Terminal:

$sudoonderhoudsshbegin

Gebruik de volgende opdracht om de service opnieuw te starten:

$sudoonderhoudsshherstarten

Controleer de luisterpoort van de SSH-server

Een andere reden voor het ontvangen van de foutmelding Verbinding geweigerd is omdat u verbinding probeert te maken met de verkeerde poort. Als de server bijvoorbeeld is geconfigureerd om te luisteren op poort 2244 en u probeert verbinding te maken met de standaardpoort 22, krijgt u in dit geval de foutmelding Verbinding geweigerd.

Voordat u verbinding probeert te maken, moet u de luisterpoort van de SSH-server controleren. Als dit de standaardpoort (22) is, kunt u deze aansluiten met de volgende opdracht:

$ssh [gebruikersnaam]@[remoteserver IP ofhostnaam]

Als het een andere poort is dan de standaardpoort, moet u verbinding maken met de SSH-server via deze poort:

$ssh -P [poortnummer] [gebruikersnaam]@[IP adres]

Om te controleren op welke poort de OpenSSH-server luistert; gebruik de volgende opdracht in Terminal:

$sudo netstat -ltnp | greepsshd

U ontvangt de uitvoer die lijkt op het volgende:

In de derde kolom ziet u dat de luisterpoort van de server 2244 is. Als dit het geval is, moet u via deze poort verbinding maken met de SSH-server.

$ssh -P [2244] [gebruikersnaam]@[IP adres]

SSH toestaan ​​in firewall

Firewall die de SSH-poort blokkeert, kan een andere belangrijke reden zijn voor de fout Verbinding geweigerd. Als er een firewall op de SSH-server draait, moet u de SSH-poort daarin toestaan ​​met de volgende opdracht. Vervang de haven door het poortnummer waar de SSH-server naar luistert:

$sudoufw poort toestaan/tcp

Als de SSH-server bijvoorbeeld naar poort 2244 luistert, kunt u deze in de firewall toestaan ​​als:

$sudoufw toestaan2244/tcp

Laad de firewall opnieuw met de volgende opdracht:

$sudoufw herladen

Om te bevestigen of de regels zijn toegevoegd, controleert u de status van de firewall met behulp van de volgende opdracht in Terminal:

$sudoufw-status

De volgende uitvoer laat zien dat poort 2244 is toegestaan ​​in de firewall.

Dubbel IP-adresconflict oplossen

De fout Verbinding geweigerd kan ook optreden vanwege een dubbel IP-adresconflict. Zorg er dus voor dat het systeem geen dubbel IP-adres heeft.

Installeer het arping-hulpprogramma op uw systeem met behulp van de volgende opdracht:

$sudogeschiktinstallerenarping

Ping vervolgens het IP-adres van de SSH-server.

$ping <IP adres>

Als u in de uitvoer het antwoord van meer dan één MAC-adres ziet, geeft dit aan dat er een dubbel IP-adres op het systeem wordt uitgevoerd. Als dit het geval is, wijzigt u het IP-adres van de SSH-server en probeert u opnieuw verbinding te maken met het nieuwe IP-adres.

Dit is hoe u de Verbinding geweigerd-fout door poort 22 in Linux-systemen kunt oplossen. In dit artikel hebben we een paar manieren beschreven die u zeker zullen helpen bij het oplossen van de Connection weigerde-fout.