PuTTyGen - Не удалось загрузить закрытый ключ (невозможно открыть файл)

6364
kvk30

Шаг 1: Генерация ключа SSH

1. Из командной строки введите ssh-keygen. (если вы получаете сообщение об ошибке в окне командной строки, проверьте, является ли C: \ Program Files \ Git \ usr \ bin частью вашего пути) Команда предложит вам файл для сохранения ключа в

  1. Нажмите клавишу ввода, чтобы принять ключ и путь по умолчанию, /c/Users//.ssh/id_rsa.

  2. Введите и введите пароль еще раз, когда будет предложено.

  3. Команда создает вашу личность по умолчанию с ее открытым и закрытым ключами.

2. Конфигурирование черепахи-мерзавца

  1. Загрузите ключ ssh, сгенерированный ранее (id_rsa). он предложит вам выбрать файл. (путь по умолчанию для ключей ssh ​​C: \ Users \ .ssh)

  2. Во время загрузки будет запрашиваться фраза-пароль .. введите фразу-пароль, которая была дана ранее. После этого шага шпатлевка загрузит сертификат.

  3. После загрузки сертификата нажмите кнопку «Сохранить закрытый ключ». будет предложено выбрать папку, в которой будет сохранен файл. Лучше хранить его в той же папке, что и папка с ключами ssh (C: \ Users \ .ssh). укажите имя файла также.

  4. Теперь вам нужно настроить TortoiseGit с помощью сгенерированного файла ключа. щелкните правой кнопкой мыши по папке репо, выберите TortoiseGit> Настройки

  5. На экране настроек выберите Git> Remote

  6. На удаленном экране выберите источник .. он заполнит URL и другие поля.

  7. Нажмите на эллипсы напротив поля Putty Key и выберите файл закрытого ключа, который был сгенерирован с помощью puttygen.

Формат файла закрытого ключа

---- НАЧАТЬ RSA ЧАСТНЫЙ КЛЮЧ ------

xxxxxxxyyxyyxyxyxy

---- КОНЕЦ RSA ЧАСТНЫЙ КЛЮЧ ------- enter image description here

Gitsetting

Ошибка была

Не удалось загрузить закрытый ключ (невозможно открыть файл)

enter image description here Файл имеет разрешение на чтение и запись. Помимо этого секретного ключа есть пароль, я думаю, что это будет причиной ошибки.

Конфигурация открытого ключа в моей учетной записи bitbucket, Public key setting

-1
Под * «я ** сгенерировал ** закрытый ключ в puttygen» * - вы имеете в виду, что ** вы преобразовали ** ключ из формата PEM в PPK? Martin Prikryl 6 лет назад 0
Да, я преобразовал его в файл .ppk. kvk30 6 лет назад 0
Ну, так что отредактируйте свой вопрос, чтобы прояснить это. Ваша нынешняя формулировка чепуха. Martin Prikryl 6 лет назад 0
Объясните **, как ** вы преобразовали ключ. + Покажите нам, как выглядит преобразованный файл .ppk + * "Ошибка была" * - Какая ошибка? Когда вы получаете эту ошибку? + Martin Prikryl 6 лет назад 0
Прикрепленные скриншоты и шаги, которые я выполнил для настройки git и генерации ключей. kvk30 6 лет назад 0
Вы не ответили на все мои вопросы. + Более того, на вашем скриншоте папки `.ssh` ** нет никакого файла` bitbucket.ppk` **! Martin Prikryl 6 лет назад 0
@MartinPrikryl была пошаговая последовательность, которая ответит на все ваши вопросы, я думаю, спасибо за ваше терпение и помощь. Обновлен скриншот извините за неправильный скриншот. kvk30 6 лет назад 0
Давайте [продолжим это обсуждение в чате] (https://chat.stackexchange.com/rooms/74095/discussion-between-kvk30-and-martin-prikryl). kvk30 6 лет назад 0

1 ответ на вопрос

1
Timmy Browne

Если я вас правильно понял, вы не использовали puttygenдля создания пары ключей, вместо этого вы использовали ssh-keygenдля генерации пары ключей с парольной фразой, затем вы загрузили этот закрытый ключ в Putty и сохранили его как Putty.ppkи получили ошибку Couldn't load Private Key (cannot open file).

В каком формате id_rsaвы создали закрытый ключ ( )?

Если вы открываете его в текстовом файле, первый похож на это:

-----BEGIN RSA PRIVATE KEY-----

или это выглядит так:

ssh-rsa AWEdxRASFLMAF......

Вероятно, это проблема, связанная с загрузкой открытого ключа вместо закрытого ключа для сохранения в виде .ppk. У скриншота, который вы показываете, есть 2 файла: id_rsaи id_rsa, но один из них - файл закрытого ключа, а другой - открытый ключ. Вероятно, вы выбрали открытый ключ, если расширения файлов не были показаны. Попробуйте повторно импортировать ключ, выбрав id_rsaфайл с меткой времени 05-03-2018 12:36на скриншоте выше.

Убедитесь, что первая строка в этом файле

-----BEGIN RSA PRIVATE KEY-----

прежде чем ты сделаешь.

Обновил мой вопрос, выглядит так же, как вы сказали, но ошибка все еще отражается. не могли бы вы помочь мне в дальнейшем? kvk30 6 лет назад 0
Вы уже загрузили свой открытый ключ в свой удаленный репозиторий git? Timmy Browne 6 лет назад 0
Я установил открытый ключ для своей учетной записи Bitbucket, но в сообщении об ошибке не изменилось. kvk30 6 лет назад 1
ваши скриншоты меняются, как и значение ключа в поле ключа замазки. Это очень запутанно. Что случилось, если вы запустили команду git push за пределами черепахи, она работает или вы получили ошибку? в чём ценность настроек - TortoiseGit >> Сеть >> SSH-клиент? Вы изначально появились, чтобы заявить, что вы сгенерировали ключевую плату (id_rsa / id_rsa.pub). импортировал его в putty, преобразовав в putty.ppk. и у вас были проблемы с чтением ключа, который вы затем установили в черепахе. теперь вы показываете, что используете id_rsa в качестве ключа в черепахе. Timmy Browne 6 лет назад 0
Мои скриншоты обновлены, чтобы дать ясность, я попробовал, как указано в комментариях. Чтобы убедиться, что я пытаюсь, я обновляю скриншоты. По командной строке я не получаю сообщение об ошибке. Вы упомянули в своем ответе, что закрытый ключ имеет некоторый формат, который является id_rsa, поэтому обновил ключ к id_rsa из putty.gen. Извините за смущение, я не могу показать причину или проблему. Показываю всю мою процедуру для наглядности. kvk30 6 лет назад 0
похоже, вы изменили ключ, который использует черепаха, с putty.ppk на id_rsa. id_rsa - это созданный закрытый ключ ssh key-gen. это должен быть ключ, который вы преобразовали в putty.ppk после импорта с помощью puttygen. putty.ppk - это то, что вы должны играть на ключевом поле в git черепахи. Timmy Browne 6 лет назад 0
Тем не менее та же ошибка, я не мог понять, в чем проблема. kvk30 6 лет назад 0