Ключ хоста git server не кэшируется в реестре - GitHub.com

продолжение выпуска здесь: Я пытаюсь настроить свой первый репозиторий Git на GitHub. (Обратите внимание, это означает, что я не могу использовать шпатлевку, я использую openssh, или, по крайней мере, я должен, и я думаю, что я). Я следил за документацией на веб-сайте GitHub здесь. Я получаю все правильно до самой последней команды:git push -u origin master. Это дает мне следующую ошибку:

The server's host key is not cached in the registry.
You have no guarantee that the server is the computer you think it is.
The server's rsa2 key fingerprint is: ssh-rsa 2048
16:27:ac:a5:76:28:2d:36:63:1b:56:4d:eb:df:a6:48
Connection abandoned. fatal: The remote end hung up unexpectedly

Я предполагаю, что это означает, что в моем их ключ ssh-rsa не найден, но я не уверен, как это исправить. Я пытался ssh -T git@github.com и я вхожу в систему просто отлично. Я также попытался закрыть Git bash и снова открыть, если это проблема с кэшем. Это не решает проблему. Это единственный результат, который я получаю, который отличается от того, что указывает документация. Я надеюсь поставить сладкую вспомогательную библиотеку Java, поэтому любая помощь будет очень признательна!

4 ответов


идеальным решением было бы (если вам действительно не нужно использовать plink в git) удаление переменной среды GIT_SSH и создание новой пары клавиш с помощью команды ssh-keygen -t rsa -C "youremail" на Git Bash затем измените свой ssh-ключ в github, потому что из того, что я понял из комментариев, замазка и openssh конфликтуют.

однако, если вы все еще хотите использовать plink, вы можете использовать PuTTYgen для создания ключа формата PuTTY, затем измените свой открытый ключ в github и загрузите свой закрытый ключ в PuTTYagent тогда вы должны сделать соединение с github.com с замазкой это добавит отпечаток пальца githubs к known_hosts, и вам хорошо идти. Это будет ресурс для github с PuTTY http://nathanj.github.com/gitguide/tour.html


использование git-for-windows с git_ssh, указывающим на plink.exe, открытие замазки на сервер и принятие ключа хоста (а затем убийство сеанса замазки, даже не продолжая входить в систему) было достаточно, чтобы решить эту проблему для меня.


в Windows кажется, что иногда вы не можете фактически принять ключ хоста сервера.

попробуйте одну из следующих команд из Power Shell:

ssh github.com

или

plink.exe -agent github.com

запустите эти автономные и нажмите y при запросе принять ключ хоста.

использовать ssh-add чтобы добавить свой закрытый ключ к текущему сеансу Power Shell:

C:> ssh-add PATH\TO\PRIVATE\KEY

после этого вы сможете успешно запустить git push.

источник:http://help.github.com/ssh-issues/


добавление информации в сообщение @Name (для полноты), так как у меня только что был (снова) этот вопрос сегодня.

Putty хранит свои известные хосты SSH В разделе реестра, а не в ~/.СШ/если вы файл, как СШ. Поэтому, чтобы Git работал с PLink и Pagent, вам просто нужно запустить сеанс шпатлевки на удаленном сервере Git и принять ключ. Таким образом, вы не получите сообщение снова.

это беспокоит, так как вы должны принять ключ SSH дважды : один для SSH-ing сервера, один для Putty / Plink / Pagent, но как только вы это сделаете, он работает как шарм.