Lezers zoals jij steunen MUO. Wanneer u een aankoop doet via links op onze site, kunnen we een aangesloten commissie verdienen. Lees verder.

SSH is een netwerkprotocol waarmee u veilig toegang kunt krijgen tot een systeem op afstand en dit via een netwerk kunt beheren. Tijdens het verbinden met een externe machine via SSH, is de fout 'verbinding geweigerd' mogelijk opgetreden. Het ervaren van dit probleem kan frustrerend zijn, vooral als u een systeembeheerder bent en dringend bepaalde taken op het externe systeem moet uitvoeren.

Laten we eens kijken naar enkele van de mogelijke oorzaken van het krijgen van de SSH-fout "verbinding geweigerd" en methoden om dit op te lossen.

1. Controleer of er een SSH-server is geïnstalleerd

Een mogelijke oorzaak van de fout 'verbinding geweigerd' is dat de externe computer niet actief is een SSH-server. Zonder de SSH-server accepteert de machine geen inkomende SSH-verbindingen en kunt u er op afstand geen toegang toe krijgen.

Dus de allereerste stap bij het oplossen van de fout is controleren of er een SSH-server op de externe computer is geïnstalleerd. Gebruik de volgende opdracht om de installatie van de SSH-server te verifiëren:

instagram viewer

Op op Debian gebaseerde distributies:

dpkg --lijst | grep ssh

Op op RHEL gebaseerde distributies:

yum lijst geïnstalleerd | grep ssh

Op openSUSE:

zypper zoeken -i | grep ssh

Op Arch-gebaseerde distributies:

pacman-Q | grep ssh

Als de SSH-server op de externe computer is geïnstalleerd, ziet u deze in de uitvoer staan. Anders moet je installeer de OpenSSH-server op de externe machine waartoe u toegang wilt via SSH. OpenSSH is een open-sourceversie van de SSH-tools voor externe toegang tot en controle van systemen.

Gebruik de volgende opdrachten om de OpenSSH-server te installeren:

Op op Debian gebaseerde distributies:

sudo apt installeer openssh-server

Op op RHEL gebaseerde distributies:

sudo yum installeer openssh-server

Op openSUSE:

sudo zypper installeert openssh

Op Arch-gebaseerde distributies:

pacman -S openssh

2. Controleer de SSH-servicestatus

Een andere reden voor het krijgen van de foutmelding "verbinding geweigerd" kan zijn dat de SSH-service is uitgeschakeld of niet actief is op de externe computer. Zodra u zeker weet dat de SSH-server is geïnstalleerd, is het tweede dat u moet controleren de status van de server.

sudo systemctl-status sshd

Als de service actief is, geeft de uitvoer dit aan als actief (lopend). Anders zie je zoiets als inactief (dood).

Als de SSH-server niet actief is, kunt u deze handmatig starten met de volgende opdracht:

sudo systemctl start sshd

U kunt de service ook inschakelen om automatisch te starten bij het opstarten met:

sudo systemctl schakel sshd in

3. Controleer de SSH-poort

Standaard draait de SSH-server op poort 22. Men kan echter de standaardpoort wijzigen. Daarom, als u de SSH-fout "verbinding geweigerd" ontvangt, kan dit zijn omdat u probeert verbinding te maken met de SSH-server op de standaardpoort 22 terwijl deze op een andere poort draait.

Jij kan gebruik het netstat-commando met grep om de poort te vinden waarop de SSH-server luistert:

sudo netstat -plntu | grep ssh

U kunt de SSH-poort ook vinden in de sshd_config bestand met behulp van de volgende opdracht:

grep-poort /etc/ssh/sshd_config

Probeer na het identificeren van de juiste SSH-poort verbinding te maken met uw externe systeem via die specifieke poort.

4. Controleer uw systeemfirewall

De meeste verbindingsproblemen treden op doordat de firewall van uw machine sommige poorten of services blokkeert. Als op de externe machine de SSH-server is geïnstalleerd en actief is, is de volgende stap het controleren van uw firewall.

Om erachter te komen of de firewall de verbinding blokkeert, schakelt u de firewall tijdelijk uit met behulp van de volgende opdrachten:

Op Debian en op Arch gebaseerde Linux-distributies:

sudo ufw uitschakelen

Op op RHEL gebaseerde distributies en openSUSE:

sudo systemctl firewalld uitschakelen

Als de fout niet verschijnt na het uitschakelen van de firewall, betekent dit dat de firewall de verbinding blokkeerde. Schakel in dit geval de firewall opnieuw in en voeg een regel toe die SSH toestaat.

Gebruik op Debian en Arch-gebaseerde Linux-distributies de volgende opdracht om SSH toe te staan de UFW-firewall:

sudo ufw staat ssh toe

Als alternatief kunt u SSH ook toestaan ​​via het poortnummer in de firewall. Laten we zeggen dat de SSH-server poort 5555 gebruikt, dan zou je de volgende opdracht gebruiken om het in de firewall toe te staan:

sudo ufw staat 5555 toe

Controleer de UFW-status om te controleren of de regel succesvol is toegevoegd:

sudo ufw-status

Gebruik op RHEL-gebaseerde distributies en openSUSE de volgende opdracht om SSH in de firewall toe te staan:

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

Gebruik de volgende opdracht om SSH op poortnummer toe te staan:

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

Voor een SSH-server die op poort 4444 draait, zou de opdracht zijn:

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

Voer het volgende uit om de succesvolle toevoeging van de regel in de firewall te verifiëren:

sudo firewall-cmd --list-all

5. Los IP-adresconflicten op

Er is ook een kans dat de SSH-fout "verbinding geweigerd" optreedt doordat het IP-adres van de SSH-server conflicteert met het IP-adres van een ander systeem in het netwerk. Dit gebeurt wanneer twee systemen op een netwerk claimen hetzelfde IP-adres te hebben, wat resulteert in een IP-conflict.

Gebruik de arp-scan-tool als volgt om te bevestigen of er een IP-conflict is in uw netwerk:

arp-scan [netwerk-id]

Als er een IP-conflict is, ziet u het dubbele IP-adres in de uitvoer. De onderstaande schermafbeelding is een voorbeeld van een IP-conflict in een netwerk:

Zorg ervoor dat er geen statische IP-adressen zijn die overlappen met de DHCP-pooladressen om IP-conflicten te voorkomen.

Bonustip: voer SSH uit in uitgebreide modus

Telkens wanneer u een SSH-fout tegenkomt, probeert u de ssh-opdracht in uitgebreide modus uit te voeren om het probleem op te sporen. Om SSH in uitgebreide modus uit te voeren, gebruikt u de opdracht ssh met de -vvv optie als volgt:

ssh -vvv gebruikersnaam@ip_adres

In de uitgebreide modus ziet u bij elke stap van de verbinding foutopsporingsberichten die u helpen te begrijpen waar het probleem ligt.

Problemen oplossen met de SSH-fout "Verbinding geweigerd" op Linux

Door de mogelijke oorzaken van de SSH-connectiviteitsfout te identificeren en de voorgestelde oplossingen te implementeren, kunt u de SSH-fout "verbinding geweigerd" oplossen en oplossen. Zorg er naast deze stappen voor dat u verbinding maakt met het juiste IP-adres en de juiste inloggegevens gebruikt.

Om uw externe verbinding veiliger te maken, kunt u tweefactorauthenticatie instellen voor SSH op Linux.