Я использую msysgit на Windows 7, а также пакет PuTTY .
Я открыл Puttygen и нажал кнопку «Создать». Я переместил свой курсор вокруг, чтобы «генерировать некоторую случайность». После того, как ключ был создан, я ввел ключевую фразу для ключа и нажал «Сохранить закрытый ключ». Я сохранил файл как "private.ppk" в каталоге c:/Users/Kristen/.ssh
.
Затем я нажал «сохранить открытый ключ» и сохранил файл как «public.pub» внутри c:/Users/Kristen/.ssh
.
Затем я скопировал содержимое поля с надписью «Открытый ключ для вставки в файл авторизованных ключей OpenSSH». Я не копировал содержимое public.pub
файла, потому что я знаю, что есть дополнительные данные, которые сломают ключ.
Я зашел в свою учетную запись GitHub, зашел в «Настройки»> «Ключи SSH» и нажал кнопку «Добавить ключ SSH». Я дал ключу название, затем вставил ключ, скопированный из Puttygen, и нажал «Добавить ключ». Ключ был успешно сохранен.
Я открыл Pageant и нажал «Добавить ключ». Я выбрал файл "public.ppk" из c:/Users/Kristen/.ssh
. Я ввел ключевую фразу.
Я открыл Git Bash и набрал ssh git@github.com
. Он спросил меня, хочу ли я добавить github.com в список известных хостов. Я напечатал yes
. Тогда я получил эту ошибку:
В доступе отказано (publickey).
Затем я набрал ssh -v git@github.com
и получил этот вывод:
Я увидел, что он искал id_rsa
, поэтому я создал каталог с именем id_rsa
и поместил в него свои ключи.
Затем я набрал еще ssh git@github.com
раз, и получил это сообщение:
Введите пароль для ключа
c:/Users/Kristen/.ssh/id_rsa:
Я ввел ключевую фразу для своего закрытого ключа, но он продолжал спрашивать снова и снова.
Затем я удалил эту папку и изменил имя моего закрытого ключа на id_rsa.ppk
, но получил то же самое сообщение «Permission denied (publickey)».
Я зашел в Панель управления> Система> Свойства системы> Дополнительно> Переменные среды, и моя GIT_SSH
переменная была установлена в значение c:\Program Files (x86)\PuTTY\plink.exe
, и я подтвердил, что Plink действительно живет в этой папке.
Не уверен, что еще попробовать. Предложения?
id_rsa
как не имел расширения, это был каталог. В любом случае, я подтвердил, что путь к Plink в моейGIT_SSH
переменной правильный, и я обновил свой вопрос, чтобы включить его.git push
, но не когда я используюssh
команду. Очевидно, это не имеет значения, но чертовски раздражает.