Ошибка "no address related to name" при клонировании github.com repo под Windows с использованием ssh

Поиск Google для +github +ssh "no address associated with name" дает следующие SO-вопросы в качестве 4 лучших результатов:

github нет адреса, связанного с именем
Невозможно запустить исходный мастер Github Синхронизация с github
Настройка GITHUB - нет адреса, связанного с именем

Никто из них не дает ответа на мою проблему.

c:\Program Files (x86)\Git\bin>git --version
git version 1.7.7.1.msysgit.0

c:\Program Files (x86)\Git\bin>ssh [email protected]
Enter passphrase for key '/c/Users/Piotr/.ssh/id_rsa':
Hi piotr-dobrogost! You've successfully authenticated, but GitHub does not provide shell access.
Connection to github.com closed.

c:\Program Files (x86)\Git\bin>git clone ssh://[email protected]:piotr-dobrogost/requests.git
Cloning into requests...
ssh: github.com:piotr-dobrogost: no address associated with name
fatal: The remote end hung up unexpectedly

Я предполагаю, что проблема вызвана git передачей github.com:piotr-dobrogost как имя хоста для ssh, а только только github.com. Почему git делает это и какое решение?

Ответ 1

Вы сами ответили - проблема в том, что вы передаете github.com:piotr-dobrogost в качестве имени хоста, которое на самом деле не является допустимым именем хоста. git будет понимать либо правильные URL-адреса в репозитории, либо путь репозитория в формате SCP (см. man 1 scp.) Для правильного URL-адреса попробуйте:

git clone ssh://[email protected]/piotr-dobrogost/requests.git

В формате SCP-пути это эквивалентно следующему:

git clone [email protected]:piotr-dobrogost/requests.git

Ответ 2

У меня была такая же проблема, и оказалось, что это проблема DNS. Настройки DNS были неправильными, и машины просто не могли добраться до удаленного репозитория git.

Ответ 3

Я запускаю закрытый git сервер с адресом, назначенным DHCP; этот адрес остается статичным. Время от времени аутентификация с удаленного хоста дает ошибку "нет адреса, связанного с этим именем".

Однако я редактирую файл known_hosts для своего клиента (который для меня находится в C:\Users\MyUserName \.ssh\known_hosts) и удаляет строку, относящуюся к закрытому серверу git:

gitserver.local,10.0.0.10 ssh-rsa AAAABCAAAA....

Затем я снова подключаюсь к серверу git и выдаю запрос на перенос. На этот раз git задает вопрос о том, следует ли кэшировать SSH-ключ, а pull завершается успешно, без ошибки "нет адреса, связанного с именем".

Таким образом, я подозреваю, что что-то о ключе RSA, или о том, как этот ключ относится к DNS, становится напортачивым. Если ничего другого не дает радости, попробуйте вручную удалить и автоматически переустановить ключ RSA на клиенте. Это не должно работать, но, похоже, это работает в моем случае. У меня нет четкого представления, почему это должно быть так.