Ich habe die Git-Anleitung befolgt , aber ich habe dieses seltsame Problem, wenn ich versuche, eine Verbindung zu Github herzustellen:
$ ssh -v [email protected]
OpenSSH_4.6p1, OpenSSL 0.9.8e 23 Feb 2007
debug1: Reading configuration data /c/Documents and Settings/mugues/.ssh/config
debug1: Applying options for github.com
debug1: Connecting to github.com [207.97.227.239] port 22.
debug1: connect to address 207.97.227.239 port 22: Attempt to connect timed out without establishing a connection
ssh: connect to host github.com port 22: Bad file number
Dies ist meine Konfigurationsdatei unter .ssh
Host github.com
User git
Hostname github.com
PreferredAuthentications publickey
IdentityFile "C:\Documents and Settings\mugues\.ssh\id_rsa"
TCPKeepAlive yes
IdentitiesOnly yes
Irgendeine Idee?
Antworten:
Nachdem ich dieses Problem selbst hatte, fand ich eine Lösung, die für mich funktioniert:
Fehlermeldung:
Unter Windows, das die MINGGW-Shell verwendet, wird die Meldung mit der falschen Dateinummer nur angezeigt. Linux-Benutzer erhalten nur eine Zeitüberschreitung.
Problem:
SSH ist wahrscheinlich an Port 22 blockiert. Sie können dies durch Eingabe sehen
Wie Sie sehen können, ist der Status gefiltert, was bedeutet, dass etwas ihn blockiert. Sie können dies lösen, indem Sie eine SSH an Port 443 durchführen (Ihre Firewall / ISP blockiert dies nicht). Es ist auch wichtig, dass Sie ssh zu "ssh.github.com" anstelle von github.com ssh. Andernfalls melden Sie sich beim Webserver anstelle des SSH-Servers. Im Folgenden finden Sie alle Schritte, die zur Lösung dieses Problems erforderlich sind.
Lösung:
(Stellen Sie zunächst sicher, dass Sie Ihre Schlüssel wie unter http://help.github.com/win-set-up-git/ erläutert generiert haben. )
Erstellen Sie die Datei ~ / .ssh / config (SSH-Konfigurationsdatei in Ihrem Benutzerverzeichnis. Wahrscheinlich unter Windows
%USERPROFILE%\.ssh\config
Fügen Sie den folgenden Code ein:
Speicher die Datei.
Führen Sie ssh wie gewohnt durch:
Beachten Sie, dass ich weder den Benutzernamen noch die Portnummer angeben muss.
quelle
ssh: connect to host ssh.github.com port 443: Bad file number
.ssh/config
Datei unter Windows 7 verwenden, stellen Sie sicher, dass Sie einen User-Enviromental VarHOME
mit%USERPROFILE%
dem Wert -> hat mir geholfen, wenn mein SSH ihn nicht finden konnteDie wichtigsten Informationen sind in der Antwort von @ Sam geschrieben, aber nicht wirklich hervorstechend. Machen wir es also klar.
"Ungültige Dateinummer" ist nicht informativ, sondern nur ein Zeichen dafür, dass gits ssh unter Windows ausgeführt wird.
Die Zeile, die auch ohne
-v
Schalter erscheint:ist eigentlich irrelevant .
Wenn Sie sich darauf konzentrieren, verschwenden Sie Ihre Zeit, da dies kein Hinweis auf das eigentliche Problem ist, sondern nur ein Effekt der Ausführung von gits ssh unter Windows. Es ist nicht einmal ein Zeichen dafür, dass die Installation oder Konfiguration von git oder ssh falsch ist. Ignoriere es wirklich .
Der gleiche Befehl unter Linux erzeugte stattdessen diese Nachricht für mich, die einen tatsächlichen Hinweis auf das Problem gab:
Tatsächliche Lösung: Ignorieren Sie "falsche Dateinummer" und erhalten Sie weitere Informationen
Konzentrieren Sie sich auf Zeilen, die mit der
-v
Befehlszeile hinzugefügt werden. In meinem Fall war es:Mein Problem war ein Tippfehler in der IP-Adresse, aber Ihre kann anders sein.
Handelt es sich bei dieser Frage um eine "schlechte Dateinummer" oder um die vielen Gründe, warum eine Verbindung unterbrochen werden kann?
Wenn jemand nachweisen kann, dass "falsche Dateinummer" nur angezeigt wird, wenn der eigentliche Grund "Verbindungszeitüberschreitung" ist, ist es sinnvoll zu klären, warum die Verbindungszeit abgelaufen sein könnte.
Bis dahin ist "falsche Dateinummer" nur eine allgemeine Fehlermeldung, und diese Frage wird vollständig mit den Worten "Ignorieren und nach anderen Fehlermeldungen suchen" beantwortet.
EDIT: Qwertie erwähnte, dass die Fehlermeldung tatsächlich generisch ist, da sie auch bei "Verbindung abgelehnt" auftreten kann. Dies bestätigt die Analyse.
Bitte überladen Sie diese Frage nicht mit allgemeinen Hinweisen und Antworten, sie haben nichts mit dem eigentlichen Thema (und Titel) dieser Frage zu tun, nämlich "Git SSH-Fehler:" Verbindung zum Host herstellen: Ungültige Dateinummer "". Wenn
-v
Sie eine informativere Nachricht verwenden, die eine eigene Frage verdient, öffnen Sie eine andere Frage, und Sie können einen Link dazu erstellen.quelle
scp
Befehlszeile wurde "debug1: Verbindung zu Adresse 216.34.181.70 Port 22: Verbindung abgelehnt" vor "Ungültige Dateinummer" hinzugefügt, sodass es sich nicht immer um einen "Timeout" -Fehler handelt.Das hat bei mir funktioniert:
quelle
Möglicherweise blockiert Ihre Firewall oder eine Blockeranwendung (PeerBlock usw.) Ihren Port
quelle
Sie können auch versuchen:
um zu sehen, ob Sie eine Verbindung zum Server haben. Ich habe diese Nachricht gesehen und es stellte sich heraus, dass das VPN, in dem ich mich befand, den Zugriff blockierte. Vom VPN getrennt und ich konnte loslegen.
quelle
Was ich gefunden habe ist, dass dies passiert, wenn Ihre Verbindung schlecht ist. Ich hatte es vor ein paar Minuten, als ich auf mein Repo drückte, es schlug immer wieder fehl und eine Weile danach wurde die Verbindung unterbrochen.
Nachdem es wieder hochgekommen war, ging der Stoß sofort durch.
Ich glaube, es kann entweder durch einen Verbindungsabbruch von Ihrer oder ihrer Seite verursacht werden.
quelle
bad file number
Fehlermeldung, wenn die Verbindung unterbrochen wird.Wenn SSH über 22 blockiert ist
Aktualisieren Sie einfach Ihre
origin
auf httpsgit remote set-url origin https://github.com/ACCOUNT_NAME/REPO_NAME.git
Überprüfen Sie, ob Änderungen vorgenommen wurden
git remote -v
quelle
Ich hatte nur das gleiche Problem und versuchte jede Lösung, die ich finden konnte, aber keine funktionierte. Schließlich habe ich versucht, Git Bash zu beenden und wieder zu öffnen, und alles hat perfekt funktioniert.
Beenden Sie also Git Bash und öffnen Sie es erneut.
quelle
Versuchen Sie, die Git-Bash-Instanz zu beenden, über die Sie das Setup durchgeführt haben, und versuchen Sie erneut, sie zu öffnen. Es hat schließlich bei mir funktioniert.
quelle
Unter Windows habe ich versucht, Git Bash zu beenden und erneut auszuführen, aber es hat nicht funktioniert. Schließlich habe ich (frustiert) einen Neustart durchgeführt und es hat beim nächsten Mal funktioniert :)
quelle
Stellen Sie sicher, dass Sie Ihre öffentlichen Schlüssel über Ihre GitHub-Verwaltungsoberfläche veröffentlicht haben.
Stellen Sie dann sicher, dass Port 22 nicht blockiert ist (wie in dieser Frage dargestellt ).
quelle
In meinem Fall hatte sich die IP-Adresse unseres Git-Hosts geändert.
Durch einfaches Leeren des DNS-Cache wurde das Problem behoben.
quelle
Das Erstellen der Konfigurationsdatei für Port 443 hat bei mir nicht funktioniert. Schließlich habe ich versucht, meine WLAN-Verbindung auszuschalten, wieder einzuschalten und das Problem ist verschwunden. Seltsam. Dumme Lösung, aber es kann jemandem helfen :)
quelle
Überprüfen Sie Ihre Fernbedienung mit git remote -v So etwas wie ssh: /// gituser @ myhost: /git/dev.git
ist falsch wegen des dreifachen /// Schrägstrichs
quelle
Ich habe dieses Problem gesehen, als ich auf Bitbucket im Unternehmensnetzwerk zugegriffen habe, während Git im Heimnetzwerk einwandfrei funktioniert.
Ich habe das https-Protokoll verwendet, um dies zu umgehen.
Bitte verwenden Sie entsprechende Wörter, um "myaccount" und "myrepo" zu ersetzen.
quelle
Die folgende Lösung funktionierte für mich, als ich versuchte, von meinem Windows 7 (32 Bit) -PC hinter der Unternehmensfirewall, die Proxy- in die AWS EC2 Ubuntu-Instanz einbindet, eine SSH-Verbindung herzustellen.
Fügen Sie der
C:\Users\<YOUR_WINDOWS_USER>\.ssh\config
Datei den folgenden Block hinzu:Sie müssen eine ähnliche Konfiguration pro Host hinzufügen, in den Sie SSH ausführen möchten.
quelle
Ich hatte das Problem, als ich eine offene FileZilla-Verbindung unter Windows hatte. Closed FileZilla -> Problem gelöst.
quelle
Dies ist die einfache Lösung zum Speichern einiger Eingaben. Sie können die folgenden Schritte in git bash einfach ausführen.
(1) Erstellen Sie das Remote-Repository
Hinweis: Wenn Ihr Passwort das Zeichen '@' enthält, verwenden Sie stattdessen '% 40'
(2) Machen Sie dann mit dem Remote-Repository alles, was Sie wollen
quelle
In meinem Fall hat ein einfacher Neustart des WLAN-Routers geholfen.
quelle