2012-01-17 5 views
3

Я использую Windows XP, TortoiseGit (последняя версия) и Cygwin. У меня установлен git.exe и на моем пути. В TortoiseGit я могу выполнить нажатия на удаленный репозиторий, не запрашивая пароль. Я предположил, что это произошло потому, что я определил это в моем файле .git/конфигурации ...Почему git просит меня ввести пароль?

[remote "origin"] 
    fetch = +refs/heads/*:refs/remotes/origin/* 
    url = ssh://[email protected]/myproject.git 
    puttykeyfile = U:\\.ssh\\mykey.ppk 

Однако в Cygwin, когда в корневом каталоге моего проекта (тот, где .git папка является дочерним), я получаю запрос на ввод пароля ...

$ git push origin qa_release 
[email protected]'s password: 

Почему я предложено ввести пароль при попытке нажать от Cygwin, но не из TortoiseGit и как я могу получить Cygwin вести себя как TortoiseGit (т.е. не спрашивайте меня, для пароля)?

Спасибо, - Дэйв

ответ

2

puttykeyfile это окно мерзавец вещь, так что вам нужно, чтобы ваш SSH настроить для Cygwin тоже. Git будет использовать ваши обычные настройки SSH.

Является ли файл .ppk обычным открытым ключом SSH? Если да, добавьте следующее в свой файл ~/.ssh/config, поэтому cygwin git знает, где его найти.

Host myrepo 
    IdentityFile /cygdrive/u/.ssh/mykey.ppk 

Вы можете проверить это быстро с ssh myrepo в Cygwin.

+0

Вариант этого сработал для меня. В разделе «Хост» я также добавил строки «User myuser» и «Hostname myhost» в дополнение к изменению файла идентификации из .ppk в файл закрытого ключа. Спасибо, - – Dave

+1

Btw, ppk НЕ является открытым ключом SSH. Это секретный ключ шпаклевки. – gaRex