Læsere som dig hjælper med at støtte MUO. Når du foretager et køb ved hjælp af links på vores websted, kan vi optjene en affiliate-kommission. Læs mere.

SSH er en netværksprotokol, der giver dig mulighed for sikker adgang til og administrere et fjernsystem over et netværk. Mens du oprettede forbindelse til en ekstern maskine via SSH, er du muligvis stødt på fejlen "forbindelse nægtet". At opleve dette problem kan være frustrerende, især hvis du er systemadministrator og skal udføre nogle opgaver på fjernsystemet på et presserende grundlag.

Lad os se på nogle af de mulige årsager til at få SSH-fejlen "forbindelse nægtet" og metoder til at løse det.

1. Tjek om en SSH-server er installeret

En mulig årsag til fejlen "forbindelse afvist" er, at fjernmaskinen ikke kører en SSH-server. Uden SSH-serveren vil maskinen ikke acceptere indgående SSH-forbindelser, og du vil ikke kunne få fjernadgang til den.

Så det allerførste trin i fejlfinding af fejlen er at kontrollere, om en SSH-server er installeret på fjernmaskinen. Brug følgende kommando til at bekræfte SSH-serverinstallationen:

instagram viewer

På Debian-baserede distributioner:

dpkg --liste | grep ssh

På RHEL-baserede distributioner:

yum liste installeret | grep ssh

På openSUSE:

zypper søgning -i | grep ssh

På Arch-baserede distributioner:

pacman -Q | grep ssh

Hvis SSH-serveren er installeret på den eksterne maskine, vil du se den opført i outputtet. Ellers skal du installer OpenSSH-serveren på den eksterne maskine du vil tilgå via SSH. OpenSSH er en open source-version af SSH-værktøjerne til fjernadgang og styring af systemer.

For at installere OpenSSH-serveren skal du bruge følgende kommandoer:

På Debian-baserede distributioner:

sudo apt installer openssh-server

På RHEL-baserede distributioner:

sudo yum installer openssh-server

På openSUSE:

sudo zypper installer openssh

På Arch-baserede distributioner:

pacman -S openssh

2. Tjek SSH-servicestatus

En anden grund til at få fejlen "forbindelse nægtet" kan være, at SSH-tjenesten er deaktiveret eller ikke kører på fjernmaskinen. Når du er sikker på, at SSH-serveren er installeret, er den anden ting, du skal tjekke, serverens status.

sudo systemctl status sshd

Hvis tjenesten er oppe at køre, vil outputtet angive det som aktiv (løbende). Ellers vil du se noget lignende inaktiv (død).

Hvis SSH-serveren ikke kører, kan du starte den manuelt ved at bruge følgende kommando:

sudo systemctl start sshd

Du kan også aktivere tjenesten til automatisk at starte ved opstart med:

sudo systemctl aktiver sshd

3. Tjek SSH-porten

Som standard kører SSH-serveren på port 22. Man kan dog ændre standardporten. Derfor, hvis du modtager SSH-fejlen "forbindelse nægtet", kan det skyldes, at du forsøger at oprette forbindelse til SSH-serveren på standardport 22, mens den kører på en anden port.

Du kan brug netstat-kommandoen med grep for at finde den port SSH-serveren lytter på:

sudo netstat -plntu | grep ssh

Du kan også finde SSH-porten fra sshd_config fil ved hjælp af følgende kommando:

grep port /etc/ssh/sshd_config

Efter at have identificeret den korrekte SSH-port, prøv at oprette forbindelse til dit fjernsystem ved hjælp af den specifikke port.

4. Tjek din systemfirewall

De fleste af forbindelsesproblemerne opstår på grund af maskinens firewall, der blokerer nogle porte eller tjenester. Hvis fjernmaskinen har SSH-serveren installeret og kørende, er næste trin at tjekke din firewall.

For at finde ud af, om firewallen blokerer forbindelsen, skal du midlertidigt deaktivere firewallen ved hjælp af følgende kommandoer:

På Debian- og Arch-baserede Linux-distributioner:

sudo ufw deaktiver

På RHEL-baserede distributioner og openSUSE:

sudo systemctl deaktiver firewalld

Hvis fejlen ikke vises efter deaktivering af firewallen, betyder det, at firewallen blokerede forbindelsen. I dette tilfælde skal du genaktivere firewallen og tilføje en regel, der tillader SSH.

På Debian- og Arch-baserede Linux-distributioner skal du bruge følgende kommando til at tillade SSH ind UFW firewall:

sudo ufw tillade ssh

Alternativt kan du også tillade SSH efter portnummeret i firewallen. Lad os sige, at SSH-serveren bruger port 5555, så vil du bruge følgende kommando til at tillade det i firewallen:

sudo ufw tillade 5555

For at kontrollere, om reglen er blevet tilføjet korrekt, skal du kontrollere UFW-status:

sudo ufw status

På RHEL-baserede distributioner og openSUSE skal du bruge følgende kommando til at tillade SSH i firewallen:

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

For at tillade SSH efter portnummer skal du bruge følgende kommando:

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

For en SSH-server, der kører på port 4444, ville kommandoen være:

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

For at bekræfte, at reglen er blevet tilføjet i firewallen, skal du køre:

sudo firewall-cmd --list-all

5. Løs IP-adressekonflikter

Der er også en chance for, at SSH-fejlen "forbindelse nægtet" opstår på grund af, at SSH-serverens IP er i konflikt med et andet systems IP i netværket. Dette sker, når to systemer på et netværk hævder at have samme IP-adresse, hvilket resulterer i en IP-konflikt.

For at bekræfte, om der er en IP-konflikt i dit netværk, skal du bruge arp-scan-værktøjet som følger:

arp-scan [netværks-id]

Hvis der er en IP-konflikt, vil du se den duplikerede IP-adresse i outputtet. Nedenstående skærmbillede er et eksempel på en IP-konflikt i et netværk:

For at undgå IP-konflikter skal du sørge for, at ingen enheder har statiske IP-adresser, der overlapper med DHCP-puljeadresserne.

Bonustip: Kør SSH i Verbose Mode

Når du støder på en SSH-fejl, kan du prøve at køre ssh-kommandoen i verbose tilstand for at spore problemet. For at køre SSH i verbose tilstand, brug kommandoen ssh med -vvv mulighed som følger:

ssh -vvv brugernavn@ip_adresse

I udførlig tilstand vil du se fejlfindingsmeddelelser i hvert trin af forbindelsen, som vil hjælpe dig med at forstå, hvor problemet ligger.

Fejlfinding af SSH-fejlen "Connection Refused" på Linux

Ved at identificere de potentielle årsager til SSH-forbindelsesfejlen og implementere de foreslåede løsninger, vil du være i stand til at fejlfinde og løse SSH-fejlen "forbindelse nægtet". Ud over disse trin skal du sørge for at oprette forbindelse til den korrekte IP-adresse og bruge de rigtige loginoplysninger.

For at gøre din fjernforbindelse mere sikker, kan du konfigurere to-faktor-godkendelse til SSH på Linux.