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:
$ sudo apt-lijst --installed | grep openssh-serverDeze 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:
$ sudo apt install openssh-serverTyp vervolgens sudo-wachtwoord en wanneer u om bevestiging wordt gevraagd, drukt u op 'y'. Eenmaal geïnstalleerd, bevestig het met dezelfde opdracht
$ sudo apt-lijst --installed | grep openssh-serverControleer 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" ontvangt.
Daarom is het noodzakelijk om te controleren of de OpenSSH-service actief is of niet met behulp van de volgende opdracht in Terminal:
$ sudo service ssh-statusAls u de volgende uitvoer ziet, betekent dit dat de service actief is en op de achtergrond draait:.
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:
$ sudo service ssh startGebruik de volgende opdracht om de service opnieuw te starten:
$ sudo-service ssh opnieuw opstartenControleer 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, ontvangt 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 of hostnaam]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 | grep sshdU 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 erin toestaan met de volgende opdracht:. Vervang de haven door het poortnummer waar de SSH-server naar luistert:
$ sudo ufw poort toestaan /tcpAls de SSH-server bijvoorbeeld naar poort 2244 luistert, kunt u deze in de firewall toestaan als:
$ sudo ufw allow 2244/tcp
Laad de firewall opnieuw met de volgende opdracht:
$ sudo ufw herladenOm te bevestigen of de regels zijn toegevoegd, controleert u de status van de firewall met behulp van de volgende opdracht in Terminal:
$ sudo ufw-statusDe 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:
$ sudo apt install arpingPing vervolgens het IP-adres van de SSH-server.
$ pingAls u in de uitvoer het antwoord van meer dan één MAC-adres ziet, toont 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 op 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 fout 'Verbinding geweigerd'.