ssh: Verbindung zum Host myremotehost.com Port 22: Verbindung abgelehnt

33

Also versuche ich, ssh auf meinem Server zum Laufen zu bringen. Ich kann in meinem lokalen Netzwerk mit der lokalen IP-Adresse des Servers vollkommen in Ordnung verbinden. Wenn ich versuche, eine Remoteverbindung herzustellen (über einen Domänennamen, den ich für den Server eingerichtet habe, von dem ich weiß, dass er funktioniert), wird der folgende Fehler zurückgewiesen:

ssh: connect to host bahhudson.mine.nu port 22: Connection refused

Aus den Recherchen, die ich zu dem Problem angestellt habe, geht hervor, dass mit meinem Router ein Fehler aufgetreten ist. Ich habe die Portweiterleitung konfiguriert, aber ich kann nur vermuten, dass sie den Fehler "Connection Refused" verursacht ... Mein Router ist ein WRT120N und ich habe ihn für die Portweiterleitung auf der Basis von Portforward.com konfiguriert , was etwas veraltet zu sein scheint da einige dieser Images nicht genau so aussehen, wie meine Router-Einstellungen aussehen, habe ich mehrere Möglichkeiten zum Einrichten der Port-Weiterleitung ausprobiert, und ich weiß, dass die Weiterleitung für Port 80 funktioniert, da mein Server über einen HTTP-Zugriff verfügt, der funktioniert.

Auch der VPN-Zugang wurde auf eine meiner Meinung nach ähnliche Weise blockiert, sodass die Lösung für den blockierten SSH-Port 22 möglicherweise auch der Lösung für das blockierte VPN ähnelt.

Irgendwelche Ideen?

Vielen Dank!

Bahudso
quelle

Antworten:

20

Ihr ISP blockiert möglicherweise Verbindungen zu Port 22 (nichts, was Sie oder Ihr Router dagegen tun können). Stellen Sie SSHd einfach so ein, dass es an einem anderen Port ausgeführt wird, z. B. 2222.

In /etc/ssh/sshd_configwechseln Port 22zu Port 2222und dann sudo service ssh restart. Port forward 2222 (oder was auch immer), und versuchen Sie es erneut.

ish
quelle
Ich erhalte immer noch den gleichen Verbindungsfehler (22, wenn ich bei Verwendung von ssh keinen Port und 2222, wenn ich -p 222 verwende). Ich habe den eingehenden Port 22 auf 2222 weitergeleitet und den Port in sshd_config auf 2222 geändert. Lasse ich etwas aus?
Bahudso
1
Probieren Sie einfach Folgendes aus: Eingehende 2222 auf dem Router müssen an 2222 weiterleiten (mit eingestelltem Port 2222 sshd_config).
ish
@izx Kudos für die Router-Regeln. Irgendwann dachte ich, ich flippe aus und weiß nicht, was ich tue. LOL!
GTodorov
Für zukünftige Leser. Stellen Sie sicher, dass Sie auf die Datei verweisen /etc/ssh/sshd_config(beachten Sie ssh d ). Nachdem ich eine Stunde lang an meinen Haaren gezogen hatte, lernte ich diesen kleinen Unterschied kennen. ; P
Shashanth
Mein neuer Router verwendet Port 22 für die Remoteverwaltungsfunktion und listet ihn nirgendwo auf der Schnittstelle auf. Es muss sich also nicht unbedingt um den ISP handeln.
tu-Reinstate Monica-dor duh
21

Nur um zu teilen. ( möglicherweise mit anderer Konfiguration )

In meinem Fall habe ich festgestellt, dass dieser Fehler auftreten kann, weil ich ihn nicht openssh-serverauf dem anderen Computer installiert habe .

Nachdem ich openssh-server auf dem anderen Rechner installiert habe, ist das Problem:

ssh: connect to host 192.168.XXX.XXX port 22: Connection refused

ist gelöst.

Santosa Sandy
quelle
18
  1. Überprüfen Sie zuerst, ob openssh-serverdas System installiert ist.

  2. Überprüfen Sie den Status des SSH-Dienstes und starten Sie den SSH-Dienst.

    sudo service ssh status    
    sudo service ssh start
    
  3. Überprüfen Sie iptablesin diesem System, ob Port 22 blockiert ist. Lassen Sie einfach den Port zu iptablesund prüfen Sie dann.

    sudo iptables -A INPUT -p tcp --dport ssh -j ACCEPT
    
  4. Andernfalls ändern Sie die Portnummer sshdurch Bearbeiten von 22 auf 2222

    vi etc/ssh/sshd_config    
    /etc/init.d/ssh restart.
    
pravin09
quelle
5

Überprüfen Sie den Status des SSH-Dienstes und starten Sie den SSH-Dienst, wenn er gestoppt wurde:

sudo service ssh status

In meinem Fall wurde SSH gestoppt, aber nach dem Starten des Dienstes:

sudo service ssh start

Ich kann mich remote bei Linux anmelden.

Ramesh Raja
quelle
4

Ich habe dieses Problem mit den folgenden Befehlen gelöst:

sudo apt-get purge openssh-server 
sudo apt-get install openssh-server
soheil zabihi
quelle
0

Die andere wahrscheinliche Ursache ist, dass der Proxy zwischen der Terminalsitzung und dem Host-Server einen Benutzer-ID-Kennwort-Zugriff benötigt, den Datenfluss nicht zulässt. Dies liegt an einer Netzwerk-Firewall oder SSL-Socks usw.

Vijay-H
quelle
Dies scheint keine „wahrscheinliche Ursache“ zu sein, insbesondere angesichts der akzeptierten Antwort.
Belacqua
0

Die Lösung besteht darin, die Portnummer Ihres Servers mit dem vorangestellten "-p" hinzuzufügen:

Beispiel für die Befehlszeile:

ssh -L localport:127.0.0.1:localport username@ServerIP **-p** **serverport**
Jaywad
quelle
0

Gehen Sie einfach zu whm und öffnen Sie Host Access Control Change wie folgt

sshd ALL erlauben

Arshid KV
quelle
0

Ich habe den gleichen Fehler erhalten, aber nach dem Neustart meines Computers hat alles wieder funktioniert.

Probieren Sie es aus, bevor Sie einige Komponenten erneut installieren.

alessandro buffoli
quelle