ssh: Не вдалося вирішити ім'я хосту github.com: ім'я або служба невідомі; фатально: віддалений кінець несподівано повісився


77

Процес налаштування облікового запису GitHub працює чудово, але він не працює, коли я намагаюся надсилати своє сховище до GitHub. Повідомлення про помилку, яке воно показує, є таким:

ssh: Could not resolve hostname github.com: Name or service not known
fatal: The remote end hung up unexpectedly

Я спробував змінити ключі RSA і все, але все ще отримую помилку.

Що спричиняє цю помилку?


4
Я теж бачив цю проблему, але вона, здається, періодична - я зачекав 10 хвилин, а потім вона пішла
Марк Батлер

2
Не локалізовано як мінімум.
Starkers

Ця відповідь спрацювала для мене.
вальдирний

3
Мені здається, github не підтримує клонування над ipv6. Я змусив ipv4 змінити ~ / .ssh / config (вам доведеться розібратися з форматуванням самостійно, оскільки я не можу цього зробити в коментарях): Хост github.com * .github.com AddressFamily inet
user48678

Як випливає з однієї з відповідей, це може бути тимчасовою проблемою, яка не потребує змін із вашого боку, але чекає вирішення проблеми на стороні github.com.
matanster

Відповіді:


71

Нещодавно я теж бачив цю проблему. Нижче у вас є моє рішення:

  1. ping github.com, якщо пінг не вдався. це помилка DNS.
  2. sudo vim /etc/resolv.conf, додайте: nameserver 8.8.8.8 nameserver 8.8.4.4

Або це може бути справжньою проблемою мережі. Перезапустіть свій мережевий менеджер за допомогою sudo service network-manager restartабо виправте його


1
@JsonBruce та Fahmi: щоб дізнатись більше про це, чому це спрацювало, прочитайте, як працює DNS, просто для того, щоб повідомити вас, коли ви робите будь-який запит, він спочатку перевіряє локальний кеш на "роздільну здатність IP", але якщо його немає, то він намагається вирішити з сервера імен, налаштованого у /etc/resolv.conf (у випадку UNIX / Linux). Перевірка en.wikipedia.org/wiki/Name_server
Vishrant

@FahmiRamadhan Я вважаю, що коли github вмикає сторонній DDOS-захист, їх записи dns та / або сервери змінюватимуться, вищезазначені дії змиватимуть ваші записи dns, вказуючи на захищені DDOS сервери. (Я додав це до своєї відповіді)
Єнс Тіммерман,

додавання серверів імен для /etc/resolv.confвирішення проблеми для мене! До цього у нього був лише сервер імен маршрутизатора, який, очевидно, працював некоректно.
Адріан

24

Я щойно отримав цю помилку після переходу з HTTPS на SSH (для мого пульта дистанційного керування). Для виправлення я просто запустив таку команду (для кожного репо):

ssh -T git@github.com

Отримавши успішну відповідь, я міг отримати / натиснути на репо за допомогою ssh.

Я взяв цю команду від Git's Testing your SSH guide guide, яка є частиною більшого підключення до GitHub with with SSH guide.


Отримання проблем навіть після виконання цієї команди $ ssh -T git@github.com git@github.com: Дозвіл відмовлено (publickey).
Рахул Ананд

15

На даний момент Github (22 лютого 2012 року, знову 5 вересня 2016 року) має деякі проблеми з натисканням / перетягуванням ssh. Я відчуваю ті самі проблеми.

Перетягування https - це робоча думка.

Ви можете спробувати натиснути на https, дотримуючись цього посібника: https://help.github.com/articles/using-ssh-over-the-https-port/

Це допомогло б, лише якщо це не вплине на https. Ви можете спробувати, якщо https://status.github.com/ виявляє ознаки уповільнення. введіть тут опис зображення Графіки, де середній час відгуку збільшується, означають, що у github є проблеми (або, можливо, DDOS), а не у вашому кінці.

Якщо в даний час github використовується DDOS, вони можуть вибрати включити захист DDOS від третьої сторони. Це означало б, що вони змінюють свої записи dns і / або сервери, якщо вони є частиною DDOS.

Промивання dns, зміна сервера dns або перезапуск мережі (що може призвести до очищення кешу dns), як зазначено в іншій відповіді, може допомогти вирішити проблему, якщо github пом'якшує DDOS.

Або якщо у вас є проблеми з налаштуванням ssh, ви можете знайти FAQ про ssh тут: http://help.github.com/ssh-issues/

Інші способи очищення dns у вікнах терміналу

ipconfig /flushdns

на макосах

dscacheutil -flushcache

на Linux

service nscd restart

або просто перезавантажити;)


3

У моєму випадку я щось неправильно написав, додаючи вручну віддалене джерело з git remote add origin ... .

Варто перевірити правильність використання пульта дистанційного керування git remote -v


1

Кожне з цього могло б допомогти

  1. Підтвердьте, чи все ще ви підключені за допомогою ssh. Введіть це: ssh -T git@github.com

Якщо ви отримаєте повідомлення про те, що ви успішно пройшли автентифікацію, і що github не підтримує доступ до оболонки, ви можете спробувати натиснути свій код ще раз.

2) Створіть новий ключ ssh, додайте його до github і протестуйте за допомогою ssh -T git@github.com


0

Іноді перезапуск машини також є хорошою ідеєю. Коли я зіткнувся з тією ж проблемою після перезапуску системи, він сказав мені, що ваш приватний ключ заблокований, і github не може отримати до нього доступ, тому введіть свій пароль, щоб зробити це.


0

На цент 7

  1. перевірити ip адресу за допомогою команди - ifconfig. ви отримаєте таку інформацію

    ens33: flags=****<UP,BROADCAST,RUNNING,MULTICAST>  mtu ****
    
    inet ***.***.***.***  netmask ***.***.***.0  broadcast ***.***.***.***
    
  2. додати inet ip адресу та ім'я хосту у файл /etc/hosts

    a. відкрити файлvi /etc/hosts

    b. додати ip та хост якip_address hostname hostname

  3. перезавантажити

Він приєднає ip та хост.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.