Warum schlagen alle meine SSH-Versuche aufgrund einer Zeitüberschreitung fehl?

22

Ich bin neu in der Verwendung von ssh und verwandten Technologien, daher ist es sehr wahrscheinlich, dass ich etwas Grundlegendes nicht verstehe. (Dies ist möglicherweise auch eine Frage für Serverfehler. Ich bin mir nicht sicher.)

Ich versuche, in einen Webserver (den ich besitze) zu sshen, und die Verbindung wird aufgrund einer Zeitüberschreitung nie hergestellt.

~ $ ssh -vvv DOMAIN.com
OpenSSH_6.2p2, OSSLShim 0.9.8r 8 Dec 2011
debug1: Reading configuration data /Users/USER/.ssh/config
debug1: Reading configuration data /etc/ssh_config
debug1: /etc/ssh_config line 20: Applying options for *
debug1: /etc/ssh_config line 102: Applying options for *
debug2: ssh_connect: needpriv 0
debug1: Connecting to DOMAIN.com [123.45.67.89] port 22.
debug1: connect to address IPADD port 22: Operation timed out
ssh: connect to host DOMAIN.com port 22: Operation timed out

Mein erster Gedanke war, dass ich die Domain irgendwie falsch angegeben hatte oder dass etwas mit meiner Site nicht stimmte. Also habe ich versucht, über FTP eine Verbindung zu derselben Domain herzustellen, und das hat gut funktioniert (wurde nach dem Benutzernamen gefragt):

~ $ ftp
ftp> open
(to) DOMAIN.com
Connected to DOMAIN.com.
220---------- Welcome to Pure-FTPd [privsep] [TLS] ----------
220-You are user number 2 of 50 allowed.
220-Local time is now 12:47. Server port: 21.
220-This is a private system - No anonymous login
220-IPv6 connections are also welcome on this server.
220 You will be disconnected after 15 minutes of inactivity.
Name (DOMAIN.com:USER):

Also dachte ich, ich würde SSH einfach falsch benutzen. Ich fing an, dieses Tutorial-Video anzuschauen . Nach ungefähr einer Minute ssh [email protected]erhält er eine Eingabeaufforderung für den Benutzernamen, aber es gibt mir das gleiche Zeitlimit wie oben. Ich habe dann versucht, ssh google.comwas das gleiche tut. ssh localhostauf der anderen Seite funktioniert gut. Das Problem scheint also etwas mit SSH-Anfragen über ein Netzwerk zu tun zu haben.

Mein nächster Gedanke war, dass es sich möglicherweise um ein Firewall-Problem handelt. Ich habe Sophos auf diesem Computer installiert, aber laut meinem Administrator sollte es ausgehende SSH-Anfragen nicht blockieren.

Kann jemand herausfinden, warum dies geschieht?

exp1orer
quelle
8
Das ist eine Live-IP-Adresse, die Sie uns geben. Es wird eine ungesicherte FTP-Verbindung ausgeführt. Dies ist möglicherweise keine gute Idee. Es läuft auch nichts auf Port 22, was vermutlich die Ursache Ihrer Probleme ist. Sie können nicht einfach in irgendetwas hinein sshen, der Server muss einen sshd haben, dieser scheint nicht zu laufen. Wenn es Ihr Server ist, schalten Sie ssh ein und ftp aus. Sie können FTP über SSH ausführen, sobald es ausgeführt wird.
Marinus
3
Keine Notwendigkeit zu löschen. Ich habe die IP heraus redigiert und habe SE gebeten, den redigierten Verlauf zu löschen. Auf diese Weise verliert die Person, die Ihnen geantwortet hat, keinen Ruf.
terdon

Antworten:

24

Diese Fehlermeldung bedeutet, dass der Server, zu dem Sie eine Verbindung herstellen, nicht auf SSH-Verbindungsversuche an Port 22 antwortet. Dafür gibt es drei mögliche Gründe:

  1. Sie betreiben keinen SSH-Server auf dem Computer. Sie müssen es installieren, um ssh zu können.
  2. Sie führen einen SSH-Server auf diesem Computer aus, jedoch an einem nicht standardmäßigen Port. Sie müssen herausfinden, auf welchem ​​Port er ausgeführt wird. Sagen wir, es ist auf Port 2222, dann rennst du ssh -p 2222 hostname.
  3. Sie führen auf diesem Computer einen SSH-Server aus, der den Port verwendet, über den Sie eine Verbindung herstellen möchten, der Computer verfügt jedoch über eine Firewall, mit der Sie keine Verbindung herstellen können. Sie müssen herausfinden, wie Sie die Firewall ändern können, oder Sie müssen möglicherweise ssh von einem anderen Host ausführen, um zugelassen zu werden.

EDIT : wie (richtig) in den Kommentaren ausgeführt, ist der dritte sicherlich der Fall; Die anderen beiden führen dazu, dass der Server beim Verbindungsversuch des Clients ein TCP-Paket "reset" zurücksendet, was zu einer Fehlermeldung "connection refused" (Verbindung abgelehnt) und nicht zu der Zeitüberschreitung, die Sie erhalten. Die anderen beiden können auch der Fall sein, aber Sie müssen den dritten zuerst reparieren, bevor Sie fortfahren können.

Wouter Verhelst
quelle
5
Wenn es nicht installiert wäre oder auf einem anderen Port laufen würde, würde er Nachrichten erhalten, denen die Verbindung verweigert wurde.
Hut8
2
@ Hut8: Stimmt. Von Ihren drei Möglichkeiten kann nur die dritte (Firewall) möglicherweise zu Zeitüberschreitungen führen.
R ..
Unter Ubuntu: sudo ufw erlauben 22; mach deine Arbeit dann; sudo ufw leugnen 22. digitalocean.com/community/tutorials/…
Daniel
Ich denke, es gibt eine vierte Möglichkeit, die darin besteht, dass der Server irgendwie nicht erreichbar ist (Internet-Routing-Probleme, etwas dazwischen ...), auch wenn Sie auf andere Dienste zugreifen können, da die gewählte Route für sshund andere Dienste unterschiedlich sein kann.
Alexis Wilke
3

Überprüfen Sie per Telnet-Befehl, ob Sie eine Verbindung zum SSH-Port 22 herstellen können. Wenn Sie keine Verbindung herstellen können, überprüfen Sie, ob eine Verbindung besteht. Zunächst sollten Sie in der Lage sein, eine Verbindung über den Port Nr. 22 zum Server.

Standardmäßig ist der SSH-Port 22. Wenn Sie jedoch einen anderen Port konfiguriert haben, verwenden Sie diesen Port anstelle von 22.

Telnet <IP / URL des Servers> <Port>

zB telnet domain.com 22

AVJ
quelle
2
Dies wird ssh -vtrotzdem eine Zeitüberschreitung verursachen (andernfalls hätte das Protokoll gezeigt, dass die Verbindung erfolgreich war, anstatt eine Zeitüberschreitung zu melden)
Wouter Verhelst,
@Wouter Verhelst ja, danke für die Klarstellung
AVJ
Wie können Sie überprüfen, welcher Port konfiguriert ist? Neuen Port konfigurieren?
Yonatan Simson
@YonatanSimson, vorausgesetzt Sie haben Zugriff, können Sie sudo netstat -a64np( netstat) verwenden und nach dem sshdServer suchen (letzte Spalte). Wenn Sie keinen Zugang haben, können Sie es versuchen nmap.
Alexis Wilke