2010-02-24 2 views
13

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

  1. Установлен msysgit (переносной).
  2. Я пошел в C: \ program files \ git \ bin и использовал ssh-keygen для создания открытого/закрытого ssh keypair, который я ввел в c: \ Temp
  3. Затем я создал каталог с именем .ssh \ in c : \ Users \ MyUserName \ (на окнах 7)
  4. я переехал как файлы, созданные с помощью SSH-кейген (id_rsa и id_rsa.pub) в каталог .ssh
  5. Я пошел в свой аккаунт на GitHub, создал новый открытый ключ, скопируйте вставил содержимое id_rsa.pub в него и спас
  6. теперь я иду в PowerShell строки Set-Alias ​​мерзавца 'C: \ Program Files \ мерзавец \ Bin \ git.exe'
  7. Я пытаюсь теперь сделать клон [email protected]: togakangaroo/ps-profile.git, который отклоняет мою аутентификацию:

    Разрешение отклонено (публикация). со смертельным исходом: Удалённая повесил трубку неожиданно

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

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

Другой возможный ключ в том, что, когда я пытаюсь запустить мерзавец конфигурации --global user.name «George Mauer» я получаю ошибку

fatal: $HOME not set 

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

ответ

8

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

Во-первых, вы можете узнать, где SSH в настоящее время ищет ключи, запустив ssh -v [email protected]

+0

являются SSH и SSH-добавить утилиты, которые находятся в каталоге \ мерзавец бен? Я не использую bash здесь –

+0

Извините, слишком рано, я вижу, что они есть. Я получаю это, когда я запускаю ssh: http://pastebin.com/G6FPN9As Что это значит в мире? –

+0

Похоже, что ssh ищет ключи в C: \ program files \ git \ bin \ .ssh. Самое простое решение - скопировать ключи в этот каталог. Но если вам нравится, где они есть, запустите ssh-add c: \ Users \ myusername \ .ssh. –

12

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

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

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

+0

Спасибо, это помогло. Теперь 'git push origin develop' правильно спрашивает меня за кодовую фразу моего SSH-ключа. Кстати, файл внутри '* \ Git \ cmd' называется« git.exe »для меня. Я сам не задал путь, поэтому я предполагаю, что при установке msysgit вы выбрали неправильный вариант - в какой-то момент он спрашивает вас, откуда вы хотите его использовать: 'cmd',' git bash' и т. Д. – Lumen

3

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

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

0

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

7

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

+2

Пробовал все остальное но тщетно. Думаю, я тоже попробую. Это сработало! Спасибо! –

+0

работал для меня! – leosok

9

Мое решение

«Не удалось открыть соединение с вашим агентом аутентификации.»

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

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

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

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

1

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

Просто установите переменную HOME, чтобы быть

C:\Users\Your Username 

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

0

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

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

Если интересно, see here