Läsare som du hjälper till att stödja MUO. När du gör ett köp med hjälp av länkar på vår webbplats kan vi tjäna en affiliate-provision. Läs mer.

SSH är ett nätverksprotokoll som gör att du säkert kan komma åt och hantera ett fjärrsystem över ett nätverk. När du ansluter till en fjärrdator via SSH kan du ha stött på felet "anslutning nekad". Att uppleva det här problemet kan vara frustrerande, särskilt om du är systemadministratör och måste utföra vissa uppgifter på fjärrsystemet akut.

Låt oss titta på några av de möjliga orsakerna till att SSH-felet "anslutning nekades" och metoder för att lösa det.

1. Kontrollera om en SSH-server är installerad

En möjlig orsak till felet "anslutning nekad" är att fjärrmaskinen inte körs en SSH-server. Utan SSH-servern kommer maskinen inte att acceptera inkommande SSH-anslutningar, och du kommer inte att kunna komma åt den på distans.

Så det allra första steget i att felsöka felet är att kontrollera om en SSH-server är installerad på fjärrmaskinen. Använd följande kommando för att verifiera SSH-serverinstallationen:

instagram viewer

På Debian-baserade distributioner:

dpkg --lista | grep ssh

På RHEL-baserade distributioner:

yum list installerad | grep ssh

På openSUSE:

zypper sök -i | grep ssh

På Arch-baserade distributioner:

pacman -Q | grep ssh

Om SSH-servern är installerad på fjärrmaskinen kommer du att se den listad i utgången. Annars måste du installera OpenSSH-servern på fjärrdatorn du vill komma åt via SSH. OpenSSH är en öppen källkodsversion av SSH-verktygen för fjärråtkomst och kontroll av system.

För att installera OpenSSH-servern, använd följande kommandon:

På Debian-baserade distributioner:

sudo apt installera openssh-server

På RHEL-baserade distributioner:

sudo yum installera openssh-server

På openSUSE:

sudo zypper installera openssh

På Arch-baserade distributioner:

pacman -S openssh

2. Kontrollera SSH Service Status

En annan anledning till att få felet "anslutning nekad" kan vara att SSH-tjänsten är inaktiverad eller inte körs på fjärrmaskinen. När du är säker på att SSH-servern är installerad är det andra du behöver kontrollera serverns status.

sudo systemctl status sshd

Om tjänsten är igång kommer utgången att indikera det som aktiv (löpande). Annars kommer du att se något liknande inaktiv (död).

Om SSH-servern inte körs kan du starta den manuellt med följande kommando:

sudo systemctl starta sshd

Du kan också aktivera tjänsten att automatiskt starta vid uppstart med:

sudo systemctl aktivera sshd

3. Kontrollera SSH-porten

Som standard körs SSH-servern på port 22. Däremot kan man ändra standardporten. Därför, om du får SSH-felet "anslutning nekad", kan det bero på att du försöker ansluta till SSH-servern på standardport 22 medan den körs på någon annan port.

Du kan använd kommandot netstat med grep för att hitta porten som SSH-servern lyssnar på:

sudo netstat -plntu | grep ssh

Du kan också hitta SSH-porten från sshd_config fil med följande kommando:

grep port /etc/ssh/sshd_config

Efter att ha identifierat rätt SSH-port, försök att ansluta till ditt fjärrsystem med den specifika porten.

4. Kontrollera din systembrandvägg

De flesta anslutningsproblem uppstår på grund av att din maskins brandvägg blockerar vissa portar eller tjänster. Om fjärrdatorn har SSH-servern installerad och igång, är nästa steg att kontrollera din brandvägg.

För att ta reda på om brandväggen blockerar anslutningen, inaktivera brandväggen tillfälligt med följande kommandon:

På Debian- och Arch-baserade Linux-distributioner:

sudo ufw inaktivera

På RHEL-baserade distributioner och openSUSE:

sudo systemctl inaktivera brandvägg

Om felet inte visas efter att du har inaktiverat brandväggen betyder det att brandväggen blockerade anslutningen. I det här fallet, återaktivera brandväggen och lägg till en regel som tillåter SSH.

På Debian- och Arch-baserade Linux-distributioner, använd följande kommando för att tillåta SSH in UFW-brandväggen:

sudo ufw tillåt ssh

Alternativt kan du också tillåta SSH genom portnumret i brandväggen. Låt oss säga att SSH-servern använder port 5555, då skulle du använda följande kommando för att tillåta det i brandväggen:

sudo ufw tillåter 5555

För att verifiera om regeln har lagts till, kontrollera UFW-statusen:

sudo ufw status

På RHEL-baserade distributioner och openSUSE, använd följande kommando för att tillåta SSH i brandväggen:

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

För att tillåta SSH efter portnummer, använd följande kommando:

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

För en SSH-server som körs på port 4444 skulle kommandot vara:

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

För att verifiera att regeln har lagts till i brandväggen, kör:

sudo firewall-cmd --list-all

5. Lös IP-adresskonflikter

Det finns också en chans att SSH-felet "anslutning nekad" inträffar på grund av att SSH-serverns IP-adress kommer i konflikt med ett annat systems IP i nätverket. Detta händer när två system i ett nätverk hävdar att de har samma IP-adress, vilket resulterar i en IP-konflikt.

För att bekräfta om det finns en IP-konflikt i ditt nätverk, använd arp-scan-verktyget enligt följande:

arp-scan [nätverks-id]

Om det finns en IP-konflikt kommer du att se den dubbla IP-adressen i utgången. Skärmbilden nedan är ett exempel på en IP-konflikt i ett nätverk:

För att undvika IP-konflikter, se till att inga enheter har statiska IP-adresser som överlappar med DHCP-pooladresserna.

Bonustips: Kör SSH i Verbose Mode

När du stöter på ett SSH-fel, försök att köra kommandot ssh i utförligt läge för att spåra problemet. För att köra SSH i verbose läge, använd kommandot ssh med -vvv alternativ enligt följande:

ssh -vvv användarnamn@ip_adress

I utförligt läge kommer du att se felsökningsmeddelanden i varje steg av anslutningen som hjälper dig att förstå var problemet ligger.

Felsökning av SSH-felet "Connection Refused" på Linux

Genom att identifiera de potentiella orsakerna till SSH-anslutningsfelet och implementera de föreslagna lösningarna kommer du att kunna felsöka och lösa SSH-felet "anslutning nekad". Utöver dessa steg, se till att du ansluter till rätt IP-adress och använder rätt inloggningsuppgifter.

För att göra din fjärranslutning säkrare kan du ställa in tvåfaktorsautentisering för SSH på Linux.