PuTTyGen- Не удалось загрузить закрытый ключ (невозможно открыть файл)
Шаг 1: Генерация ключа SSH
1. В командной строке введите ssh-keygen. (если вы получаете сообщение об ошибке в окне командной строки, проверьте, является ли C:\Program Files\Git\usr\bin частью вашего пути) Команда предложит вам файл для сохранения ключа в
Нажмите клавишу ввода, чтобы принять ключ и путь по умолчанию, /c/Users//.ssh/id_rsa.
Введите и повторно введите пароль при появлении запроса.
Команда создает вашу личность по умолчанию с ее открытым и закрытым ключами.
2. Конфигурирование черепахи-мерзавца
Загрузите ключ ssh, сгенерированный ранее (id_rsa). он предложит вам выбрать файл. (путь по умолчанию для ключей ssh C:\Users\.ssh)
Во время загрузки будет запрашиваться фраза-пароль. Введите фразу-пароль, которая была дана ранее. После этого шага замазка загрузит сертификат.
После загрузки сертификата нажмите кнопку "Сохранить закрытый ключ". будет предложено выбрать папку, в которой будет сохранен файл. Лучше хранить его в той же папке, что и папка с ключами ssh (C:\Users\.ssh). укажите имя файла также.
Теперь вам нужно настроить TortoiseGit с помощью сгенерированного файла ключа. щелкните правой кнопкой мыши по папке репозитория, выберите TortoiseGit> Настройки
На экране настроек выберите Git > Remote
На удаленном экране выберите источник.. он заполнит URL и другие поля.
Нажмите на эллипсы напротив поля 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 (конец файла) должным образом!
Надеюсь, это кому-нибудь поможет, эта проблема свела меня с ума!