Я следовал руководство ГИТ но у меня есть эта странная проблема при попытке подключения к GitHub:
$ 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
Это мой файл конфигурации под .СШ
Host github.com
User git
Hostname github.com
PreferredAuthentications publickey
IdentityFile "C:\Documents and Settings\mugues\.ssh\id_rsa"
TCPKeepAlive yes
IdentitiesOnly yes
Любая идея?
После того, как эту проблему сама, я нашел решение, которое работает для меня:
Сообщение об ошибке:
ssh -v [email protected]
OpenSSH_5.8p1, OpenSSL 1.0.0d 8 Feb 2011
debug1: Connecting to github.com [207.97.227.239] port 22.
debug1: connect to address 207.97.227.239 port 22: Connection timed out
ssh: connect to host github.com port 22: Connection timed out
ssh: connect to host github.com port 22: Bad file number
Вы будете видеть только плохое сообщение номер файла, когда на Windows с помощью MINGGW оболочки. Пользователи Linux просто сделать тайм-аут.
Проблема:
SSH-это, вероятно, заблокированы на порт 22. Вы можете убедиться в этом набрав
$nmap -sS github.com -p 22
Starting Nmap 5.35DC1 ( http://nmap.org ) at 2011-11-05 10:53 CET
Nmap scan report for github.com (207.97.227.239)
Host is up (0.10s latency).
PORT STATE SERVICE
22/tcp ***filtered*** ssh
Nmap done: 1 IP address (1 host up) scanned in 2.63 seconds
Как вы можете видеть состояние фильтруется, значит что-то блокирует его. Вы можете решить это с помощью SSH на 443 порт (брандмауэр / провайдер не будет блокировать это). Важно и то, что вам нужно СШ, чтобы "СШ.на GitHub.ком" и вместо github.com. В противном случае, вам сообщат веб-серверу вместо сервера SSH. Ниже представлены все шаги, необходимые, чтобы решить эту проблему.
Решение:
(Прежде всего убедитесь, что вы создали свои ключи, как объяснено в http://help.github.com/win-set-up-git/)
создать файл ~/.файл SSH/config файл (СШ config, расположенный в вашем пользовательском каталоге. На Windows, вероятно, папке %USERPROFILE%.\СШ конфиг`
Вставьте следующий код в нем:
Host github.com
User git
Hostname ssh.github.com
PreferredAuthentications publickey
IdentityFile ~/.ssh/id_rsa
Port 443
Сохраните файл.
Проанализировать СШ как обычно:
$ssh -T github.com
$Enter passphrase for key '.......... (you can smile now :))
Обратите внимание, что я не обязан предоставлять имя пользователя или номер порта.
Ключевая информация записывается в @Сэм'ы ответ, но не очень заметные, так что давайте's сделать это ясно.
Линия, которая появляется даже без-В общем:
ssh: connect to host (some host or IP address) port 22: Bad file number
на самом деле неактуально.
Если вы сосредоточитесь на нем вы'будете тратить свое время, это не намек о том, что актуальной проблемой, просто эффект, выполнив команду git'ы СШ на Windows. Это'ы даже не признак того, что в Git и SSH установки или неправильной конфигурации. Действительно, игнорировать.
Сама же команда в Linux выпускается вместо это сообщение для меня, который дал реальную подсказку о проблеме:
ssh: connect to host (some host or IP address) port 22: Connection timed out
Фокус на линии добавляются С -В
на командной строке. В моем случае это было:
debug1: connect to address (some host or IP address) port 22: Attempt to connect timed out without establishing a connection
Моя проблема была опечатка в IP-адрес, но у вас может быть разным.
Если кто-то может доказать, что "плохой номер файл" появляется только тогда, когда реальная причина есть "Время ожидания соединения" тогда это имеет некоторый смысл рассмотреть, почему связь может тайм-аут.
Пока что, то "плохое число файл" - это только общее сообщение об ошибке, и этот вопрос полностью ответил, и"это игнорировать и искать другие сообщения ошибке".
Редактировать: Qwertie отметил, что сообщение об ошибке является действительно универсальным, как это может произойти на "отказ в соединении с" также. Это подтверждает анализ.
Пожалуйста, Дон'т беспорядок этот вопрос с общих советов и ответов, они не имеют ничего общего с собственно тема (и название) этот вопрос, который является "с git по SSH ошибка: “подключение к хост: плохой номер файла”ад". Если вы используете -V
, то у вас есть более информативные сообщения, которые заслуживают свой собственный вопрос, затем откройте другой вопрос, тогда вы можете сделать ссылку на него.
Может быть, ваш брандмауэр или применение блокатора (PeerBlock и т. д.) блокирует порт
Я нашел, что это происходит, когда связь плохая. У меня было несколько минут назад, когда нажимали на мой РЕПО, его следует некоторое время после этого, соединение разорвано.
После того, как он вернулся, нажать сразу прошел.
Я считаю, это может быть вызвана либо падением в связи с любой вашей стороны или их.
Если SSH заблокирован через 22
просто обновите ваш "происхождение" на HTTPS
git удаленного набора URL-адрес https://github.com/ACCOUNT_NAME/REPO_NAME.git происхождения
убедитесь, что изменения были сделаны
git удаленного -в
Я просто была такая же проблема и пробовал все решения, которые я мог найти, но никто не работал. В конце концов, я попытался бросить в Git Bash и вновь открывая его, и все работало отлично.
Итак, попробуйте бросить в Git Bash и вновь открывая его.
На Windows я пыталась бросить в Git Bash и повторно запустить, но ничего't работа, наконец-то меня(разочарованы) сделал перезагрузку и он работал в следующий раз :)
Дважды проверьте, что вы опубликовали свои публичные ключи через интерфейс администрирования сайта GitHub.
Затем убедитесь, что порт 22 Это'т каким-то образом блокирован (как показано на этот вопрос]1)
Следующее решение работает для меня, когда пробовал по SSH к AWS EC2 с Ubuntu и на Windows 7 (32 разрядная) компьютер за корпоративным Firewall настройка прокси-сервера
Добавьте следующий блок C:\Users\<YOUR_WINDOWS_USER>\.файл\СШ конфиг
-
> Host *
> ProxyCommand "C:/Program Files/Git/mingw32/bin/connect.exe" -H <YOUR_PROXY_SERVER_HOST>:<YOUR_PROXY_SERVER_PORT> %h %p
> IdentityFile "<path_OF_YOUR_IDENTITY_FILE>"
> TCPKeepAlive yes
> IdentitiesOnly yes
>
> Host <SERVER_HOST_NAME_OR_IP_YOU_WANT_TO_SSH_INTO>
> Port <SERVER_HOST_PORT_YOU_WANT_TO_SSH_INTO>
> Hostname <SERVER_HOST_NAME_OR_IP_YOU_WANT_TO_SSH_INTO>
Необходимо добавить похожую конфигурацию для каждого узла, который вы хотите по SSH.
Я видел этот вопрос, когда я доступ к системе BitBucket в корпоративной сети, в то время как ГИТ работает в домашней сети.
$ git pull
ssh: connect to host bitbucket.org port 22: Bad file number
fatal: Could not read from remote repository.
Я использовал протокол HTTPS для обхода этого.
$ git pull https://[email protected]/myaccount/myrepo.git
Password for 'https://[email protected]':
Пожалуйста, используйте соответствующие слова для замены " учетной записи" и "myrepo-то";.
Это самое простое решение для ввода текста вы можете использовать следующие шаги в Git Баш легко..
(1) создать удаленный репозиторий
git remote add origin https://{your_username}:{your_password}@github.com/{your_username}/repo.git
Примечание: Если ваш пароль содержит '@' знак использовать '%40' вместо этого
(2) затем делать все что угодно с удаленным репозиторием
ex:- git push origin master
В моем случае просто перезагрузить маршрутизатор WiFi помог.