Почему git спрашивает у меня пароль?

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

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

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

$ git push origin qa_release
git@myrepo's password:

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

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


person Dave    schedule 17.01.2012    source источник


Ответы (1)


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

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

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

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

person Edd Steel    schedule 17.01.2012
comment
Вариант этого работал для меня. В разделе Host я также добавил строки User myuser и Hostname myhost в дополнение к изменению файла идентификации с .ppk на файл закрытого ключа. Спасибо, - - person Dave; 18.01.2012
comment
Кстати, ppk НЕ ЯВЛЯЕТСЯ открытым ключом SSH. Это закрытый ключ шпатлевки. - person gaRex; 20.09.2012