Ich versuche, einen SSH-Tunnel von meinem Büromaschinen zu meinem Heimcomputer zu verwenden, und erhalte eine Fehlermeldung, wenn ich versuche, ihn zu verwenden.
Was ich tue, ist eine Shell wie folgt zu starten:
ssh -gL 12345:my.home.domain:22 my.home.domain
Das gibt mir eine richtige Hülle, kein Problem. Was ich dann normalerweise mache, ist ssh zu meinem Heimcomputer über diesen Büromaschinen, wie folgt:
ssh -p 12345 127.0.0.1
Dies hat bei mir immer funktioniert, bis ich letzte Woche ein neues System auf meinem Heimcomputer eingerichtet habe (Wechsel von Ubuntu zu Debian). Jetzt bekomme ich eine Fehlermeldung. Ich kann meine anfängliche SSH-Verbindung immer noch öffnen, aber wenn ich versuche, diesen Tunnel zu verwenden, wird (auf dem Büromaschinen) der folgende Fehler angezeigt:
ssh_exchange_identification: Connection closed by remote host
Wenn das passiert, wird die offene Hülle, durch die ich den Tunnelbau eingerichtet habe, mit dieser Linie bespuckt:
channel 3: open failed: connect failed: Connection timed out
An diesem Punkt bin ich ratlos. Wenn weitere Informationen benötigt werden, werde ich diese gerne veröffentlichen.
============= weiter ==============
Nachdem ich weiter herumgespielt habe, habe ich festgestellt, dass ich eine andere Antwort vom Server (also von meinem Heimcomputer) erhalte, wenn ich versuche, an den verschiedenen Ports zu telneten. Wenn ich es versuche:
telnet my.home.domain 22
Ich bekomme das zurück:
Trying <my ip address>...
Connected to <my domain>.
Escape character is '^]'.
SSH-2.0-OpenSSH_5.5p1 Debian-6+squeeze2
Welches ist, was ich erwarten würde. Nach dem Einrichten des Tunnels und dem anschließenden Telnetting wird folgende Antwort angezeigt:
Trying 127.0.0.1...
Connected to 127.0.0.1.
Escape character is '^]'.
============== und noch weiter ==================
Wie pro kbulgrien ‚Vorschlag s, hier ist die Ausgabe von der Client - Maschine mit der Option -v:
ssh -vp 24600 127.0.0.1 OpenSSH_5.9p1 Debian-5ubuntu1, OpenSSL 1.0.1 14. März 2012 debug1: Konfigurationsdaten lesen / etc / ssh / ssh_config debug1: / etc / ssh / ssh_config Zeile 19: Anwenden von Optionen für * debug1: Verbindung zu 127.0.0.1 [127.0.0.1] Port 24600 herstellen. debug1: Verbindung hergestellt. debug1: Identitätsdatei /home/jacob/.ssh/id_rsa Typ -1 debug1: Identitätsdatei /home/jacob/.ssh/id_rsa-cert Typ -1 debug1: Identitätsdatei /home/jacob/.ssh/id_dsa Typ -1 debug1: Identitätsdatei /home/jacob/.ssh/id_dsa-cert Typ -1 debug1: Identitätsdatei /home/jacob/.ssh/id_ecdsa Typ -1 debug1: Identitätsdatei /home/jacob/.ssh/id_ecdsa-cert Typ -1 ssh_exchange_identification: Verbindung vom Remote-Host geschlossen
quelle
ssh_exchange_identification: Connection closed by remote host
Fehlerursache betrifft den Verbindungshost, der in der Liste aufgeführt ist/etc/hosts.deny
.-v
, dem fehlgeschlagenen Befehl ssh etwas hinzuzufügen ? Gibt die folgende Ausgabe einen anderen Hinweis auf einen Fehler (dhchannel 1: open failed: administratively prohibited: open failed
)?-v
sowohl im Tunnel als auch bei fehlgeschlagenen ssh-Befehlen zu arbeiten (auf der Suche nach mehr alschannel 3: open failed: connect failed: Connection timed out
). Es könnte bemerkenswert sein zu erwähnen, dass man mehrere-v
(bis zu drei) hinzufügen kann, um die Ausführlichkeit zu erhöhen. Ich würde nicht unbedingt den ganzen Spucke posten, aber es könnte sich lohnen, nach Wörtern zu suchen, die auf ein Problem hinweisen.Antworten:
Vielleicht, wenn Sie mehr als 10 SSH-Sitzungen haben, die auf das Einfügen des Passworts warten, haben Sie diese Art von Fehler. Ich erinnere mich, dass dies der jüngste SSH-Fehler war. Wenn Sie dies überprüfen würden, verwenden Sie den folgenden Befehl
quelle
So etwas ist bei einer kürzlich durchgeführten Installation passiert. In dieser Situation existierte /etc/hosts.deny und hatte keine Einstellungen, die explizit den Zugriff verweigerten, sodass die Umstände ähnlich zu sein scheinen. Es war notwendig, /etc/hosts.allow zu ändern, um etwas hinzuzufügen wie:
Die IP-Details müssen an Ihre Bedürfnisse angepasst oder durch ersetzt werden,
ALL
wenn keine Bedenken bestehen, ssh von überall zuzulassen.Nachdem Sie die Änderungen vorgenommen haben, stoppen Sie sshd und starten Sie es neu.
Upvoted Antworten auf folgende Frage bieten weitere Beispiele.
SSH hosts.deny und hosts.allow
Hier ist das Zeugnis eines anderen, das die Fehlermeldung mit der Lösung verknüpft.
So beheben Sie: ssh_exchange_identification: Die Verbindung wurde durch ein Remote-Host-Problem geschlossen, wenn Sie sich mit SSH anmelden
quelle
Ich hatte das gleiche Problem und löste das Problem am Ende, indem ich Folgendes korrigierte
/etc/network/interfaces
:oder
Ohne diese Konfiguration bekomme ich nie eine umgekehrte Verbindung zu meinem SSH-Tunnel.
quelle
In meinem Fall musste ich auf
/etc/ssh/sshd_config
dem Gateway-Rechner folgende Zeilen einfügen :Weitere Details finden Sie hier
Hoffe das hilft!
quelle