So beheben Sie „ssh-Verbindung abgelehnt“ unter Linux

So beheben Sie „ssh-Verbindung abgelehnt“ unter Linux

Erhalten Sie beim Versuch, eine Verbindung über SSH unter Linux herzustellen, Fehler "Verbindung verweigert" ? Wenn ja, ist dieser Leitfaden für Sie! Folgen Sie unten, während wir einige mögliche Korrekturen für den Fehler „Verbindung abgelehnt“ auf Ihrem Linux-System durchgehen! 

So beheben Sie „ssh-Verbindung abgelehnt“ unter Linux

Fix 1 – Port 22 wird von der Firewall blockiert

Ein möglicher Grund, warum Sie beim Herstellen einer Verbindung mit einem Linux-Desktop oder -Server mit einem darauf eingerichteten OpenSSH-Server möglicherweise die „ssh-Verbindung verweigert“ erhalten, ist, dass die Firewall den Standardport blockiert.

Um dies zu beheben, können Sie Port 22 mit Ihrer Firewall entsperren. In diesem Handbuch zeigen wir Ihnen, wie Sie Port 22 mit der UFW-Befehlszeilen-Firewall für Ubuntu/Debian und andere Distributionen, die UFW verwenden, entsperren. Wir werden auch FirewallD für diejenigen behandeln, die RedHat-Distributionen wie Fedora, RHEL usw. verwenden.

Hinweis: Wenn Sie unter Linux ein anderes Firewall-System als UFW oder Firewalld verwenden, müssen Sie das Handbuch Ihrer Software konsultieren, um zu erfahren, wie Sie Port 22 entsperren.

Um den Entsperrvorgang zu starten, benötigen Sie ein Terminalfenster. Starten Sie eine Terminalsitzung auf dem Linux-Desktop oder Linux-Server, der Ihren OpenSSH-Server hostet. Sobald das Terminalfenster geöffnet ist, befolgen Sie die Anweisungen zum Entsperren, die der von Ihnen verwendeten Firewall entsprechen.

Entsperren Sie Port 22 auf Ubuntu, Debian und anderen Linux-Betriebssystemen, die UFW verwenden 

Auf vielen Linux-Servern und -Desktops wird die UFW-Firewall standardmäßig ausgeführt. Wenn dieses System läuft, kann Port 22 blockiert sein. Um die Blockierung aufzuheben, um SSH-Datenverkehr über Port 22 zuzulassen, müssen Sie den Befehl allow verwenden .

Führen Sie im Terminal den  Befehl sudo ufw allow ssh aus . Dieser Befehl weist die UFW-Firewall an, das „ssh“-Profil durch die Firewall zuzulassen, die standardmäßig Port 22 ist.

So beheben Sie „ssh-Verbindung abgelehnt“ unter Linux

sudo ufw erlauben ssh

Wenn Sie SSH an einem anderen benutzerdefinierten Port als Port 22 verwenden, funktioniert die Eingabe des  Befehls allow ssh  nicht und UFW blockiert weiterhin Verbindungen. Um dies zu beheben, können  Sie den Befehl ufw allow verwenden und einen Port zum Entsperren  angeben.

Wenn Ihr Linux-Desktop oder -Server beispielsweise OpenSSH auf dem benutzerdefinierten Port 443 ausführt, können Sie es mithilfe des folgenden Befehls durch die UFW-Firewall entsperren.

sudo ufw erlauben 443/tcp

Um benutzerdefinierte SSH-Ports mit der UFW-Firewall auf Ubuntu, Debian oder einem anderen Server/Desktop, auf dem die UFW-Firewall ausgeführt wird, freizugeben, geben Sie den Port zusammen mit dem Befehl " allow" an  .

sudo ufw erlauben MY_CUSTOM_SSH_PORT/tcp

Entsperren Sie Port 22 auf Fedora, RHEL und anderen Linux-Betriebssystemen, die FirewallD verwenden

Wenn Sie einen Server oder Desktop betreiben, der Fedora, RHEL oder ein anderes Redhat-basiertes Linux-Betriebssystem verwendet, verwenden Sie wahrscheinlich Firewalld. Wenn Sie die Fehlermeldung „Verbindung verweigert“ erhalten, kann dies daran liegen, dass Port 22 blockiert ist. So aktivieren Sie es mit FirewallD.

Zuerst müssen Sie sich im Terminal beim Root-Konto anmelden. Root-Zugriff ist erforderlich, um an den FirewallD-Konfigurationseinstellungen herumzubasteln. Um auf das Root-Konto zuzugreifen, führen Sie den folgenden su –  Befehl aus.

su - 

Nachdem Sie mit dem Befehl su auf das Root-Konto  zugegriffen haben  , verwenden Sie den Befehl  Firewall-cmd  , um eine neue Firewallregel hinzuzufügen, die Port 22 durchlässt (SSH-Datenverkehr).

Firewall-cmd --zone=public --add-port=22/tcp --permanent

Wenn Sie SSH auf einem benutzerdefinierten Port statt auf Port 22 ausführen, funktioniert der obige Befehl nicht. Stattdessen müssen Sie den Befehl „add-port=22“ in Ihren benutzerdefinierten Port ändern.

Firewall-cmd --zone=public --add-port=MY_CUSTOM_SSH_PORT/tcp --permanent

Nachdem Sie die neue Regel zur Firewalld-Konfiguration hinzugefügt haben, müssen Sie die neuen Einstellungen anwenden. Um diese Einstellungen zu übernehmen, führen Sie den  Befehl firewall-cmd –reload aus  .

Firewall-cmd --reload

Fix 2 – OpenSSH-Dienst ist ausgefallen

Wenn das Entsperren von SSH-Ports in der Firewall dies nicht bewirkt hat, haben Sie es möglicherweise damit zu tun, dass OpenSSH auf Ihrem Server ausgefallen ist. Um zu überprüfen, ob der Dienst ausgefallen ist, öffnen Sie ein Terminal und führen Sie den Befehl systemctl status  des OpenSSH-Dienstes aus .

systemctl-status sshd

Nachdem Sie den Statusbefehl ausgeführt haben, sehen Sie eine Anzeige des sshd-Dienstes, der Datei, die es dem OpenSSH-Server ermöglicht, auf den meisten Linux-Betriebssystemen zu funktionieren. 

Schauen Sie in der SSH-Anzeige nach dem Abschnitt "Aktiv". Wenn "Active: inactive (dead)" angezeigt wird, ist Ihr OpenSSH-Dienst inaktiv und muss neu gestartet werden. Wenn "aktiv (wird)" angezeigt wird, müssen Sie einen anderen Fix versuchen, um festzustellen, warum Verbindungen abgelehnt werden.

So beheben Sie „ssh-Verbindung abgelehnt“ unter Linux

Um den OpenSSH-Dienst wieder zu starten, können Sie den Befehl systemctl start sshd  ausführen  .

So beheben Sie „ssh-Verbindung abgelehnt“ unter Linux

sudo systemctl start sshd

Fix 2.5 – OpenSSH-Dienst ist nicht aktiviert

Ein weiterer möglicher Grund für die Ablehnung von Verbindungen durch OpenSSH ist die einfache Tatsache, dass der sshd-Dienst von OpenSSH beim Start nicht aktiviert ist. Wenn es beim Start nicht aktiviert wird, kann SSH bei jedem Neustart ausfallen, was zu Verbindungsproblemen führt. Um dieses Problem zu beheben, können Sie den folgenden systemctl-Befehl ausführen.

sudo systemctl aktivieren sshd 

Fix 3 – OpenSSH läuft auf einem anderen Port

Viele Benutzer möchten ihre SSH-Konfigurationen beim Einrichten eines SSH-Servers anpassen. Eines der häufigsten Dinge ist, den Standardport von 22 auf einen anderen zu ändern.

Wenn Sie Ihren SSH-Port geändert haben, müssen Sie ihn angeben, damit die Verbindung erfolgreich ist. Wenn beispielsweise ein SSH-Server auf Port 443 läuft, führt die bloße Ausführung des folgenden Befehls zu einem Verbindungsfehler.

ssh my-user@my-server

Sie können diese Verbindungsverweigerung beheben, indem Sie die Portnummer während der Verbindung mit dem Befehlszeilenschalter -p  angeben. 

ssh -p CUSTOM_PORT_NUMBER user@my-server


So installieren Sie GitLab auf Ubuntu Server

So installieren Sie GitLab auf Ubuntu Server

Möchten Sie GitLab auf Ihrem Ubuntu-Server zum Laufen bringen? GitLab ist eine leistungsstarke selbsthostbare Alternative zu Diensten wie GitHub. Damit können Sie

Absicherung eines Ubuntu-Linux-Servers mit SELinux

Absicherung eines Ubuntu-Linux-Servers mit SELinux

Erfahren Sie, wie Sie Ihrem Ubuntu-Linux-Server zusätzliche Sicherheit verleihen können, indem Sie SELinux darauf installieren und aktivieren.

Konfigurieren Sie NFS auf einem Linux-Server mit Cockpit

Konfigurieren Sie NFS auf einem Linux-Server mit Cockpit

Benötigen Sie eine einfachere Möglichkeit, NFS-Freigaben auf Ihrem Linux-Server bereitzustellen? Erfahren Sie, wie Sie NFS-Freigaben mit der Cockpit-App bereitstellen.

So aktualisieren Sie auf Ubuntu 22.04 LTS

So aktualisieren Sie auf Ubuntu 22.04 LTS

Die langfristige Unterstützung für Ubuntu 22.04 ist da! Erfahren Sie, wie Sie Ihren Desktop oder Laptop auf die neueste Ubuntu-Version aktualisieren.

So installieren Sie die neuesten Nvidia-GPU-Treiber unter Linux

So installieren Sie die neuesten Nvidia-GPU-Treiber unter Linux

So installieren Sie die neuesten Nvidia GPU-Treiber unter Linux

So übertragen Sie Dateien in einen Docker-Container

So übertragen Sie Dateien in einen Docker-Container

Müssen Sie Dateien in Ihren Docker-Container übertragen? Mit dem Docker-CP-Tool können Sie Dateien ganz einfach in und aus Containern verschieben.

So installieren Sie eine DEB-Datei unter Linux

So installieren Sie eine DEB-Datei unter Linux

Was ist eine DEB-Datei? Was machst du damit? Erfahren Sie mehr über die vielen Möglichkeiten, wie Sie DEB-Dateien auf Ihrem Linux-PC installieren können.

So bringen Sie GOG Galaxy unter Linux zum Laufen

So bringen Sie GOG Galaxy unter Linux zum Laufen

Besitzen Sie Spiele auf GOG.com? Möchten Sie den GOG Galaxy-Client auf Ihrem Linux-PC einrichten, um einige Videospiele zu genießen? Befolgen Sie diese Anleitung, wie wir sie zeigen

So installieren Sie Docker Engine unter CentOS

So installieren Sie Docker Engine unter CentOS

Docker Engine ist ein offenes Containerisierungsprogramm für Linux und andere Plattformen. Docker Engine verwaltet eigenständige Container, die ähnlich funktionieren wie

So bündeln Sie alle Ihre Chats mit Ferdi in einem

So bündeln Sie alle Ihre Chats mit Ferdi in einem

Sind Sie es leid, Slack, Discord und viele andere Produktivitätstools auf Ihrem Linux-System zu installieren? Wünschen Sie sich, dass sie alle zu einem zusammengefasst werden könnten?