Bemærk: De her diskuterede kommandoer er blevet testet på Ubuntu 20.04 LTS. De samme kommandoer er også gyldige for Debian-systemet.
Fix Forbindelse nægtet fejl
Dette er den "Forbindelse nægtet" fejl, du kan støde på, når du opretter forbindelse til et eksternt system via SSH.
Følg nedenstående løsninger trin for trin for at løse fejlen "Forbindelse nægtet".
Sørg for, at OpenSSH er installeret
En af grundene til, at du muligvis modtager en "Forbindelse nægtet" -fejl, er fordi OpenSSH-serveren ikke er installeret på målserveren.
Først skal du sørge for, at OpenSSH-serveren er installeret på det system, som du prøver at få adgang til via SSH. For at kontrollere, om OpenSSH er installeret eller ej, skal du udstede følgende kommando i målserverens terminal:
$ sudo apt-liste - installeret | grep openssh-serverDenne kommando filtrerer dybest set udtrykket "openssh-server" fra listen over installerede pakker. Hvis du modtager følgende lignende output, angiver det, at OpenSSH-serveren er installeret. På den anden side, hvis du ikke modtager output, betyder det, at OpenSSH mangler på målserveren.
Hvis det ikke er installeret på målserveren, kan du installere det ved hjælp af følgende kommando som sudo:
$ sudo apt installerer openssh-serverIndtast derefter sudo-adgangskode, og når du bliver bedt om bekræftelse, skal du trykke på 'y'. Når det er installeret, skal du bekræfte det ved hjælp af den samme kommando
$ sudo apt-liste - installeret | grep openssh-serverTjek SSH-service
OpenSSH-tjenesten kører i baggrunden og lytter til indgående forbindelser. Den stoppede OpenSSH-tjeneste kan være en af grundene til, at du modtager en "Forbindelse nægtet" -fejl.
Derfor er det nødvendigt at kontrollere, om OpenSSH-tjenesten kører eller ikke bruger følgende kommando i Terminal:
$ sudo service ssh statusHvis du ser følgende output, betyder det, at tjenesten er aktiv og kører i baggrunden.
På den anden side, hvis du modtager inaktiv (død), det betyder, at tjenesten ikke kører. Du kan køre OpenSSH-tjenesten ved hjælp af følgende kommando som sudo i Terminal:
$ sudo service ssh startFor at genstarte tjenesten skal du bruge følgende kommando:
$ sudo service ssh genstartKontroller SSH-serverens lytteport
En anden grund til at modtage en "Forbindelse nægtet" -fejl er, fordi du prøver at oprette forbindelse til den forkerte port. For eksempel, hvis serveren er konfigureret til at lytte på port 2244, og du prøver at oprette forbindelse til dens standardport 22, vil du i dette tilfælde modtage en "Forbindelse nægtet" -fejl.
Før du prøver at oprette forbindelse, skal du kontrollere SSH-serverens lytteport. Hvis det er standardporten (22), kan du forbinde den ved hjælp af følgende kommando:
$ ssh [brugernavn] @ [remoteserver IP eller værtsnavn]Hvis det er en anden port end standardporten, skal du oprette forbindelse til SSH-serveren ved hjælp af denne port:
$ ssh -p [port_number] [brugernavn] @ [ip_adresse]For at kontrollere, hvilken port OpenSSH-server lytter til; brug følgende kommando i Terminal:
$ sudo netstat -ltnp | grep sshdDu modtager output svarende til følgende:
I den tredje kolonne kan du se serverens lytteport er 2244. Hvis dette er tilfældet, skal du oprette forbindelse til SSH-serveren ved hjælp af denne port.
$ ssh -p [2244] [brugernavn] @ [ip_adresse]Tillad SSH i firewall
Firewall, der blokerer SSH-porten, kan være en anden væsentlig årsag til fejlen "Forbindelse nægtet". Hvis en firewall kører på SSH-serveren, skal du tillade SSH-porten i den ved hjælp af følgende kommando. Udskift Havn ved det portnummer, som SSH-serveren lytter til:
$ sudo ufw tillader port / tcpFor eksempel, hvis SSH-serveren lytter til port 2244, kan du tillade det i firewallen som:
$ sudo ufw tillader 2244 / tcp
Genindlæs firewallen ved hjælp af følgende kommando:
$ sudo ufw genindlæsFor at bekræfte, om reglerne er tilføjet, skal du kontrollere firewallens status ved hjælp af følgende kommando i Terminal:
$ sudo ufw statusFølgende output viser, at porten 2244 er tilladt i firewallen.
Løs duplikat af IP-adressekonflikt
Fejlen "Forbindelse nægtet" kan også forekomme på grund af dobbelt IP-adressekonflikt. Så sørg for, at systemet ikke har en duplikeret IP-adresse.
Installer arping-værktøjet på dit system ved hjælp af følgende kommando:
$ sudo apt installere arpingDerefter pinges SSH-serverens IP-adresse.
$ pingI output, hvis du ser svaret fra mere end en MAC-adresse, viser det, at der er en duplikat-IP, der kører på systemet. Hvis dette er tilfældet, skal du ændre IP-adressen på SSH-serveren og prøve at oprette forbindelse igen til den nye IP-adresse.
Sådan løses fejlen "Forbindelse nægtet" ved port 22 i Linux-systemer. I denne artikel har vi beskrevet et par måder, der helt sikkert vil hjælpe dig med at løse fejlen "Forbindelse nægtet".