Подключение git к github на окнах 7 без bash

Я настраиваю git на моем новом компьютере с Windows 7, и я попадаю в блокпост, когда дело доходит до получения github для подтверждения моего ssh-ключа. Я делаю что-то немного отличное от стандартного script, потому что я предпочитаю не использовать cygwin и предпочитаю использовать подсказку powershell. Следующее - это то, что я сделал:

  • Я установил msysgit (переносимый).
  • Я пошел в C:\program files\ git\bin и использовал ssh-keygen для создания открытого/закрытого ssh keypair, который я ввел в c:\Temp
  • Затем я создал каталог с именем .ssh\in c:\Users\myusername\(на окнах 7)
  • Я переместил оба файла, сгенерированные ssh-keygen (id_rsa и id_rsa.pub) в каталог .ssh
  • Я пошел в свою учетную запись на github, создал новый открытый ключ, скопировал содержимое id_rsa.pub в него и сохранил
  • Теперь я перейду к подсказке powershell, set-alias git 'C:\program files\git\bin\git.exe'
  • Я пытаюсь теперь сделать клон git @github.com: togakangaroo/ps-profile.git, который отклоняет мою аутентификацию:

    Отказано в доступе (публикация). фатальный: удаленный конец неожиданно повесил трубку

В прошлом опыте сказано, что это означает, что git не распознает мой ключ. Какие шаги мне не хватает?

У меня такое ощущение, что мне нужно как-то настроить git так, чтобы он знал, где находятся мои ssh-ключи (хотя, похоже, он должен выглядеть там автоматически), но я не знаю, как это сделать.

Другая возможная подсказка заключается в том, что когда я пытаюсь запустить git config -global user.name "George Mauer" Я получаю сообщение об ошибке

fatal: $HOME not set

Однако я создал пользовательскую переменную среды HOME со значением% HOMEDRIVE %% HOMEPATH%

Ответы

Ответ 1

Команда, которую вы ищете:  ssh-add C:\path\to\key

Сначала вы можете узнать, где ssh сейчас ищет ваши ключи, запустив ssh -v [email protected]

Ответ 2

У меня была та же проблема. Я случайно добавил неправильный каталог в путь.

После того, как я изменил это с *\Git\bin\ до *\Git\cmd\, все сработало.

git.cmd устанавливает переменные среды.

Ответ 3

Мое решение для

"Не удалось открыть соединение с вашим агентом проверки подлинности."

Ошибка в Windows 7 должна была сначала запустить ssh -v [email protected] в консоли git Bash, чтобы узнать, какой файл открытого ключа Github ищет. Имя файла, которое я видел, было id_rsa.

Затем я просмотрел папку c:\users\username\.ssh в проводнике Windows и заметил, что в то время, когда не было файла id_rsa, были github_rsa и github_rsa.pub.

Копирование этих файлов в папку c:\users\username\.ssh и переименование копий на id_rsa и id_rsa.pub соответственно решили проблему для меня.

Затем я смог нажать локальные коммиты в хранилище на Github.

Ответ 4

У меня такая же проблема, она исправлена, поместив ваш файл id_rsa * в папку C:\Program Files\Git\.ssh

Ответ 5

У меня была эта проблема в Windows 7. Как только я обратился к отсутствующей переменной среды HOME, указав HOME на c/Users/где бы проблема не была исправлена.

Подробнее здесь: http://code.google.com/p/msysgit/issues/detail?id=482

Ответ 6

У меня была такая же проблема с PowerShell в течение ~ 3 часов.

Просто установите для своей домашней переменной

C:\Users\Your Username

и перезапустите PowerShell. Затем убедитесь, что все ваши ключи и все совпадают.

Ответ 7

У меня возникла проблема, но это было вызвано тем, что Internet Explorer 8.0.7600 имел ошибку JavaScript при попытке выполнить функцию кнопки "добавить ключ" на моей странице настроек учетной записи GitHub "Настройки учетной записи" "Открытые ключи SSH". Это означало, что ключ добавления не удался, и ключ не был указан на странице открытых ключей над ссылкой "Добавить другой ключ". Я перешел на Firefox.

Ответ 8

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

Однако я недавно установил это на новой машине Windows и столкнулся с аналогичной проблемой. Это было исправлено путем преобразования моего SSH-ключа plink в совместимый с OpenSSH ключ и перенос его в мою личную папку .ssh. После этого у него получилось очарование!

Если вы заинтересованы, см. здесь