Git ключ сервера сервера, не кэшированный в реестре - GitHub.com

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

The server host key is not cached in the registry.
You have no guarantee that the server is the computer you think it is.
The server 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

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

Ответы

Ответ 1

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

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

Ответ 2

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

Ответ 3

В 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/

Ответ 4

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

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

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