ssh hängen dann Auszeit


8

Ich bin neu in SSH unter Linux. Ich habe zwei Computer an einen Switch angeschlossen. Der erste ist 192.168.1.2 und der zweite ist 192.168.1.3. Wenn ich den pingBefehl benutze, bekomme ich eine Antwort und alles ist gut, aber wenn ich ssh vom ersten Computer benutze ssh -v user@192.168.1.3, gibt es mir,

OpenSSH_5.8p1 Debian-1ubuntu3, OpenSSL 0.9.8o 01 Jun 2010
debug1: Reading configuration data /etc/ssh/ssh_config
debug1: Applying options for *
debug2: ssh_connect: needpriv 0
debug1: Connecting to 192.168.1.2 [192.168.1.2] port 22.
debug1: connect to address 192.168.1.2 port 22: Connection timed out

Ich habe ssh auf beiden Maschinen installiert. Irgendwelche Ideen, wie ich dieses Problem beheben kann?

Antworten:


1

Überprüfen Sie diese Dinge:

  • Port 22 ist geöffnet und kann Verbindungen empfangen
  • Stellen Sie sicher, dass OpenSSH oder ein anderer SSH-Prozess auf dem Server ausgeführt wird
  • Stellen Sie sicher, dass die SSH-Konfigurationsdatei die entsprechenden Werte erhält

9
mmm. man sshd_config |grep -i appropriatekommt leer auf allen meinen Linux-Boxen, und Solaris auch
sehe

@sehe Die Datei befindet sich nicht unter / etc / ssh /?

3
Das hat mich sogar im Bett zum <Headdesk /> gemacht. Sarkasmus scheitert. Was ich (spöttisch) vorgeschlagen habe, ist, dass die Dokumentation keine Informationen zu den entsprechenden (sic) Einstellungen enthält
siehe

Vielen Dank für alles, tatsächlich war Port 22 geschlossen, also habe ich diesen Befehl [code] iptables -A INPUT -p tcp -d 0/0 -s 0/0 --dport 22 -j ACCEPT [/ code]
sam

Danke @norway, ich stehe vor dem gleichen Problem. Wie kann ich diese Dinge überprüfen? Ich verwende ein Shared Hosting. Vielen Dank.
Abu Abu

3

Tipps zur Fehlerbehebung:

  • Kannst du ssh localhostauf dem Server?
  • Sind Benutzer erlaubt? ( AllowUsersEinstellung)
  • Binden Sie an die externe Netzwerkkarte? (suche nach ListenAddress 0.0.0.0oder ListenAddress ::)
  • Laufen Sie auf Port 22? ( Port)

    • Grundsätzlich prüfen /etc/ssh/sshd_config.
  • Hinzugefügt : Sie können verwenden netstat -tlpn | grep 22, um herauszufinden, welche Programme (falls vorhanden) Port 22 abhören ( als Root ausführen, um die Prozessnamen anzuzeigen ).

Erwägen Sie auch die Verwendung einer expliziten Portverbindung anstelle von Ping (z. B. nmap -PN remote -p22oder auch nur telnet remote 22)


1

Ich weiß, die Frage bezieht sich auf das private Netzwerk, aber ich hatte eine ähnliche Ausgabe, als ich versuchte, über das Internet auf ein Gerät zuzugreifen. Nachdem ich gegoogelt hatte, fand ich diese Frage; Auch wenn die Frage möglicherweise nicht beantwortet wird, finden andere meine Antwort möglicherweise hilfreich. In meinem Fall stellte sich heraus, dass mein ISP den Port 22 / TCP blockiert.

Wenn Sie versuchen, über das Internet auf ein Gerät zuzugreifen, gibt es grundsätzlich fünf Möglichkeiten:

  1. Die Netzwerkverbindung zwischen den Computern wird möglicherweise nicht hergestellt. Versuchen Sie, die IP-Adresse des Servercomputers zu pingen. Wenn Sie keine Pakete empfangen können, überprüfen Sie die Netzwerkverbindung auf beiden Computern.
  2. Der SSH-Server ist möglicherweise falsch konfiguriert. Versuchen Sie, SSH lokal auf dem Gerät (vom selben Gerät und Benutzer zum selben Gerät und Benutzer) über Folgendes durchzuführen:

    ssh localhost
    
  3. Wenn der Server über einen Router mit dem Internet verbunden ist, ist die Portweiterleitung möglicherweise nicht richtig konfiguriert. Überprüfen Sie daher die Konfiguration der Portweiterleitung auf Ihrem Router.

  4. Die lokale Firewall auf dem Server filtert möglicherweise die eingehende Verbindung heraus. Versuchen Sie, eingehende Verbindungen am 22 / TCP-Port in den Regeln Ihrer Firewall zuzulassen oder die Firewall vorübergehend ganz zu deaktivieren.
  5. Einer oder beide ISPs filtern möglicherweise die Verbindung heraus. Versuchen Sie , den Port auf dem Server auf 2222 zu ändern , den SSH-Server neu zu starten und SSHing über den neuen Port durchzuführen. Sie können den Port auf dem Client-Computer über die -pOption im folgenden Befehl angeben :

    ssh USER@HOST -p PORT
    

0

Überprüfen Sie zunächst, ob SSH auf der Empfangsseite ausgeführt wird. Melden Sie sich am Remote-Computer an und versuchen Sie, ssh bei localhost (ssh bei demselben Computer, auf dem Sie sich befinden).

ssh -v myUserName@localhost

Dies sollte Sie zur Eingabe Ihres Kennworts auffordern und Sie dann am selben Computer anmelden. Wenn dies nicht funktioniert, bedeutet dies, dass auf diesem Host SSH nicht aktiviert ist. Das Aktivieren der "Remote-Anmeldung" auf diesem Server sollte das Problem beheben.

Wenn Sie jedoch erfolgreich vom Zielserver in sich selbst ssh konnten, liegt das Problem wahrscheinlich irgendwo in der Mitte. Als nächstes müssen Sie die Firewalls auf dem Quellhost überprüfen, um sicherzustellen, dass sie ssh nicht blockieren.


1
Ich nenne Hand-Waivy: Enabling "remote login"bedeutet eigentlich nichts. Das Beheben des Problems sollte auch "Remote Login" aktivieren, FWIW
sehe

0

Wenn openssh-server bereits installiert ist, kann dies zu einer Blockierung der Firewall führen ... vorausgesetzt, Sie haben ufw aktiviert.

Wenn Sie von Maschine 192.168.1.2 zu Zielmaschine 192.168.1.3 wechseln. Auf dem Zielcomputer ... Sudo ufw ab 192.168.1.2 zulassen. Und umgekehrt wäre praktisch


0

[Dies ist meine erste Antwort überhaupt. Ich bitte bei Bedarf um konstruktive Kritik. Vielen Dank. :)]

Es kann der Fall sein , dass Sie verboten von der Zielmaschine, zB weil Sie ein falsches Passwort mehrmals gab.

Bearbeiten Sie /etc/fail2ban/jail.localauf dem Zielcomputer ( 192.168.1.3in Ihrem Fall). Dies ist möglich, wenn Sie sshvon einem anderen Computer zu diesem Computer gelangen, für den Sie nicht gesperrt sind.

Vervollständigen Sie die Zeile ignoreipunter [DEFAULT]mit der IP-Adresse Ihres Quellcomputers:

[DEFAULT]

ignoreip = 192.168.1.2

-1

Überprüfen Sie folgende Dinge:

1) Führen Sie nmap localhost aus und überprüfen Sie den Status von Port 22

2) Führen Sie auf Ihrem zweiten Computer, mit dem Sie über ssh eine Verbindung herstellen möchten, ssh localhost aus

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.