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

Шаг 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 ЧАСТНЫЙ КЛЮЧ -------

Ошибка была

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

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

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

4 ответа

Дело в том, что ваш PuTTy использует ssh v2 (и это хорошо), но ваш ключ, вероятно, сгенерирован для версии 3.

Вот шаги для проверки:

После того, как вы нажмете «ОК», сгенерируйте новый ключ и попробуйте его загрузить. Работал для меня.

Если я вас правильно понимаю, вы не использовали 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-----

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

У меня было такое же сообщение, и для меня проблема заключалась в том, что у меня было две версии шпатлевки. Я использую расширения git, которые можно установить для включения putty (это 32-разрядная версия putty, расположенная в каталоге программных файлов расширений git). Я тоже шпаклевку ставил сам.

Я сгенерировал ключ при установке 64-битной шпатлевки и пытался использовать этот ключ с 32-битной версией. Я исправил проблему, изменив путь к шпатлевке в параметрах расширений git.

Изображение окна настроек расширений git для указания местоположения шпатлевки

В одной версии puttygen у меня было такое же сообщение об ошибке («неожиданный конец файла»). В последней версии (0.76) puttygen просто зависал на неопределенное время, пытаясь импортировать мой ключ, и мне пришлось завершить процесс.

Поскольку я не смог найти ответов, которые мне помогли, а я разработчик C++, я решил отладить puttygen, поскольку исходный код доступен (используя версию 0.76).

Проблема для меня заключалась в том, что каким-то образом в конце моего закрытого ключа было лишнее пространство , и puttygen не мог с этим справиться!

Итак, вместо последней строки моего файла закрытого ключа, заканчивающейся на

"-----END RSA PRIVATE KEY-----"

это закончилось

"-----END RSA PRIVATE KEY----- "

Puttygen запрограммирован на поиск дополнительной ключевой информации в файле, пока не найдет строку, начинающуюся с «-----END " и заканчивается на "PRIVATE KEY-----", и он вообще не обрабатывает EOF (конец файла) должным образом!

Надеюсь, это кому-нибудь поможет, эта проблема свела меня с ума!

Другие вопросы по тегам