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, но как только вы это сделаете, он работает как шарм.