Я вытаскиваю свои волосы, пытаясь заставить Berkshelf скачать поваренную книгу компании из нашего частного репозитория BitBucket (git). Это на хосте Windows 8.1.Berkshelf продает кулинарные книги на частном репозитории Bitbucket
Я нашел this question и попытался выполнить описанное в ответе. Я также играл с инструкциями, которые Atlassian советует о here и особенно на их странице около ssh for multiple identities.
- Я создал открытый ключ с puttygen и добавил его в качестве ключа развертывания в репозиторий Bitbucket.
- Я сохранил закрытый ключ в
C:\Users\MyUser\.ssh\mykey.ppk
. Я добавил
C:\Users\MyUser\.ssh\config
со следующим содержанием:Host mycompany HostName bitbucket.org IdentityFile ~/.ssh/mykey.ppk
я пытаюсь включить поваренную книгу в berksfile вроде этого:
cookbook 'mycookbook', git: "[email protected]:myteam/mycookbook.git", protocol: :ssh
Когда я бегу $ berks install -d
I получить:
Fetching 'mycookbook' from [email protected]:myteam/mycookbook.git (at master)
Enter passphrase for key '/c/Users/MyUser/.ssh/mykey.ppk':
Git error: command `git clone [email protected]:myteam/mycookbook.git "C:/Users/MyUser/.berkshelf/.cache/git/6d5b957656d1bda26bf05aea558176c86db263f2" --bare --no
-hardlinks` failed. If this error persists, try removing the cache directory at 'C:/Users/MyUser/.berkshelf/.cache/git/6d5b957656d1bda26bf05aea558176c86db263f2'.Output from the command:
Cloning into bare repository 'C:/Users/MyUser/.berkshelf/.cache/git/6d5b957656d1bda26bf05aea558176c86db263f2'...
Permission denied (publickey).
fatal: Could not read from remote repository.
Любая идея, почему это не работает?
Должен ли я заменить «git» перед именем @ с моим именем?
Также - обратите внимание, что он запрашивает у меня парольную фразу ppk, которую я просто подтверждаю с помощью `enter ', когда я оставил ее пустой. Но разве он не должен просто читать его, не заставляя этого?
Genius! Оказалось, что последнее исправлено - я использовал пользовательский интерфейс puttygen для экспорта ключа 'Конверсии -> Экспорт ключа OpenSSH' как' mykey.pub', а затем просто изменил конфигурацию на 'IdentityFile ~/.ssh/mykey.ppk' , Он работал с относительным путем. Большое спасибо, вы спасли мой день :) – phpPhil
@phpPhil Отлично! Я включил ваше заключение в ответ для большей наглядности. – VonC
Спасибо за это. Небольшая коррекция, поскольку я не могу редактировать свой комментарий ... он должен читать 'IdentityFile ~/.ssh/mykey.pub'. ** pub ** вместо ppk. – phpPhil