Github, Puttygen и Pageant: В доступе отказано (publickey)
Я использую 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
, но получил то же самое сообщение "Отказано в доступе (publickey)".
Я вошел в Панель управления> Система> Свойства системы> Дополнительно> Переменные среды, и мой GIT_SSH
переменная установлена в c:\Program Files (x86)\PuTTY\plink.exe
, и я подтвердил, что Plink действительно живет в этой папке.
Не уверен, что еще попробовать. Предложения?
1 ответ
Я увидел, что он искал закрытый ключ в папке с именем
id_rsa
,
Нет, я могу заверить вас, id_rsa
будет именем файла закрытого ключа ssh, а не каталога.
Ваши ключи должны быть в %HOME%/.ssh
, но если вы используете plink и pageant (а не openssh), убедитесь, что переменная окружения GIT_SSH
ссылка plink.exe
,
Смотрите, например, " Как настроить GIT для использованияPlink.exe
".
Смотрите этот урок, чтобы сгенерировать ваши ключи.