it-swarm.com.de

SSH-Verbindung abgelehnt

Hallo, ich habe ein Problem mit meinem ssh, das auf magische Weise nicht mehr funktioniert und ich konnte nicht herausfinden, warum. Die Botschaft lautet:

ssh: connect to Host <Host> port 22: Connection refused

Ich sehe keine Fehlermeldungen, wenn ich dmesg schreibe, aber ich werde von telnet localhost 22 verfolgt.

Trying 127.0.0.1...
telnet: Unable to connect to remote Host: Connection refused

Ich habe die Lösungen ausprobiert, die ich in einigen ähnlichen Fällen gesehen habe [1] und [2] , aber es hat mein Problem immer noch nicht gelöst. Die Ein- und Ausgaben lauten wie folgt:

>> Sudo iptables -A INPUT -p tcp --dport ssh -j ACCEPT
>> Sudo iptables -L
Chain INPUT (policy ACCEPT)
target     prot opt source               destination         
ACCEPT     tcp  --  anywhere             anywhere             tcp dpt:ssh

Chain FORWARD (policy ACCEPT)
target     prot opt source               destination         

Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination  

Beachten Sie, dass dies bereits ACCEPT war. Ich hatte auch vor der Eingabe des Befehls Sudo iptables -A INPUT -p tcp --dport ssh -j ACCEPT kein Problem. Ich habe auch versucht, ssh neu zu starten, aber es hat nichts geändert

>>netstat -a | egrep 'Proto|LISTEN'
Proto Recv-Q Send-Q Local Address           Foreign Address         State      
tcp        0      0 localhost:20128         *:*                     LISTEN     
tcp        0      0 localhost:17600         *:*                     LISTEN     
tcp        0      0 localhost:20129         *:*                     LISTEN     
tcp        0      0 localhost:17603         *:*                     LISTEN     
tcp        0      0 localhost:21128         *:*                     LISTEN     
tcp        0      0 deathstar:domain        *:*                     LISTEN     
tcp        0      0 localhost:ipp           *:*                     LISTEN     
tcp        0      0 *:db-lsp                *:*                     LISTEN     
tcp6       0      0 ip6-localhost:ipp       [::]:*                  LISTEN     
tcp6       0      0 [::]:db-lsp             [::]:*                  LISTEN 

Ich weiß nicht, was ich noch versuchen soll, also hoffe ich, dass dies ausreicht, um das Problem zu lösen.

Rest wird nach @ Ashus Kommentar hinzugefügt

Sudo lsof -i | grep ssh

nichts ist passiert

>>netstat -l --numeric-ports | grep 22
unix  2      [ ACC ]     STREAM     LISTENING     1618183  @jack-com.canonical.Unity.Master.Scope.files.T1731348652205882

>>Sudo iptables --list
Chain INPUT (policy ACCEPT)
target     prot opt source               destination         
ACCEPT     tcp  --  anywhere             anywhere             tcp dpt:ssh

Chain FORWARD (policy ACCEPT)
target     prot opt source               destination         

Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination 

Bearbeitet nach @ TheSchwas Kommentar

>>ps aux | grep sshd
jack      3711  0.0  0.0  15944  2220 pts/26   S+   14:08   0:00 grep --color=auto sshd
3
jackaraz

Ich habe zuerst versucht, ssh zu entfernen und neu zu installieren, aber es hat bei mir nicht funktioniert. Dann habe ich versucht, es zu bereinigen:

Sudo apt-get purge openssh-server
Sudo apt-get install openssh-server

so, jetzt funktioniert es.

15
jackaraz

TCP-Fehler "Verbindung abgelehnt" bedeutet, dass auf dieser IP-Adresse ein Host aktiv ist, der Port, zu dem Sie eine Verbindung herstellen wollten (22 für ssh), jedoch nicht geöffnet ist.

Überprüfen Sie zunächst Ihren Hostnamen und/oder Ihre IP-Adresse.

Der wahrscheinlichste Grund ist, dass entweder jemand den ssh-Daemon gestoppt hat oder dass jemand ihn so konfiguriert hat, dass er anstelle des Standardports 22 einen alternativen Port verwendet.

Wenn Sie physischen Zugriff auf Ihren Server haben, melden Sie sich bei diesem Server an und geben Sie den Befehl Sudo netstat -tupan ein. Im Idealfall sollten Sie eine Zeile sehen wie:

tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 1053/sshd

Wenn Sie nicht versuchen, sshd zu starten und/oder zu überprüfen, ob es so konfiguriert ist, dass es Port 22 überwacht.

EDIT

Die Schwerpunkte sind:

:22 - Port 22

LISTEN - Es wird ein Prozess ausgeführt, der eingehende Verbindungen an Port 22 erwartet

sshd - der Name des Prozesses.

Wenn Sie eine solche Zeile nicht sehen können, ist Ihr SSH-Server möglicherweise schlecht konfiguriert und startet nicht. Versuchen Sie diese Seite für Anweisungen, wie Sie es im Vordergrund ausführen und Fehler beheben.

5
sмurf

Ihre Server-Firewall ist so konfiguriert, dass der Port geöffnet ist, aber auf Ihre Verbindung reagiert nichts.

Sie müssen sshd (den ssh-Daemon) installiert haben und ausführen ...

https://help.ubuntu.com/community/SSH/OpenSSH/Configuring

2
fiprojects

Die SSH-Verbindung wurde aus folgenden Gründen abgelehnt:

  1. standardport (22) wurde in etwas anderes geändert. Überprüfen Sie Ihre/etc/ssh/sshd_config-Datei auf Portänderungen.

  2. IP-Konflikt im LAN. Verwenden Sie den Befehl arping, um einen Konflikt zu ermitteln. Sehen Sie Ihren DHCP-Pool.

  3. ssh port ist auf ip-tables/firewall nicht erlaubt. Überprüfen Sie Ihre Iptables/Firewall und erlauben.

* Deinstallieren/Neuinstallieren von ssh-Paketen ist keine gute Idee, da dadurch viele Schlüssel geändert und übergeben werden.

Eines der häufigsten Probleme, das dies verursacht, sind die sshd-Dienste selbst. Hast du überprüft, ob es tatsächlich läuft? Außerdem habe ich festgestellt, dass Sie Ihre iptables direkt bearbeiten. Wenn also ufw/firewalld ausgeführt wird, können Sie dies auch überprüfen.

Stellen Sie außerdem sicher, dass auf dem SSH-Server die richtige IP-Adresse ausgeführt wird und der vollqualifizierte Domänenname an die richtige IP-Adresse weitergeleitet wird.

1
upbeta01

Sie müssen so ein fehlendes Verzeichnis erstellen

mkdir /var/run/sshd
chmod 0755 /var/run/sshd

Dann starte den fehlerhaften shh Server mit:

service ssh start

Und das ist es!

0
krysits