Некоторое время назад я настроил сервер на AWS и использовал их сгенерированный ключ SSH. Я сохранил ключ в Lastpass и успешно извлек его оттуда, и он заработал. Однако, попробовав сегодня снова, я не могу заставить его работать.
-rw------- 1 itsgreg users 1674 Jun 6 12:51 key_name
Я пробовал ssh -i key_name
, ssh-keygen -f key_name
но ничего не работает, я всегда получаю это сообщение об ошибке:
Load key "key_name": invalid format
Есть ли способ это исправить?
----BEGIN RSA PRIVATE KEY-----
и заканчивается-----END RSA PRIVATE KEY-----
. Плюс это раньше работало.Что я сделал, чтобы исправить эту проблему, так это то, что я использую для преобразования PPK-файл, используя
PuttyGen
.Сначала загрузите
urkey.PPK
, затем в меню конвертации выберите экспорт в формат файла Openssh. Это создаст файл newkey.в настоящее время,
ssh -i "newkey" user@127.0.0.1
Выполнено. Надеюсь, это поможет.
источник
Я просил openssh использовать определенный файл идентификации, указав его в файле .ssh / config.
Исходная рабочая конфигурация имела
Это перестало работать без каких-либо изменений. Немного подумав, я заменил «путь к файлу открытого ключа» выше на «путь к файлу закрытого ключа». Это сработало. Причина заключается в том, что файлы открытого и закрытого ключей имеют большие числа, связанные с преступным преступлением, согласно алгоритму RSA. Если вы замените файл закрытого ключа файлом открытого ключа, эти криптографические числа не будут правильно извлечены из блока base64, сохраненного в файлах ключей. Кажется, некоторые версии ssh могут определить расширение .pub и использовать его для определения правильного файла закрытого ключа - а другие версии этого не делают. Это еще один способ, которым эта ошибка может произойти. Надеюсь, это кому-нибудь поможет.
источник
config
файл,path_to_public_key
и все работало. Однако, когда Mac сделал жесткий перезапуск, и через несколько дней я попытался сделатьgit push
, я начал получать ошибку, указанную выше. Но когда я теперь изменил это, чтобыpath_to_private_key
все работало ... Хммм. Не уверен почему ..У меня была та же проблема, и оказалось, что у меня в файле по какой-то причине были разделители строк в стиле Windows (CRLF).
Кроме того, файл должен заканчиваться одним LF.
Починить эти сделанные вещи снова.
источник
dos2unix
это команда для преобразования из CRLF (в стиле Windows) в LF (в стиле Linux) разрывы строк.Вы должны преобразовать ваш ключ .ppk в ключ OpenSSH
Вот как вы это делаете :
источник
Я только что столкнулся с этим сегодня, когда писал несколько утилит git tagging для моего конвейера CI.
Вот разница между моими двумя ключами:
Я изменил свой код так:
И теперь мой ключ ssh работает.
TL; DR - Я думаю, у вас должен быть символ новой строки в конце вашего закрытого ключа.
источник
В моем случае оказалось, что у меня есть новые строки между начальными / конечными «заголовками» и ключевыми данными:
Убрав лишние новые строки, чтобы стало
решил мою проблему.
источник
Используйте свой закрытый ключ вместо открытого ключа.
источник
У меня возникла эта проблема, потому что у меня был ключ в ~ / .ssh, который на самом деле был недопустимым форматом, и у меня было много ключей, что означало, что SSH пробовал их все, хотя я указал свой файл идентификации в команде. Это просто происходит сбой, потому что он может попробовать только 5 ключей, я думаю, а затем оставил меня с этой ошибкой, которая была законной, только для неправильного файла идентификации. Решение было просто использовать
IdentitiesOnly yes
в моем ~ / .ssh / config.источник
У меня была эта ошибка, потому что в начале файла ключа была пустая строка. Легко пропустить, если вы это делаете
cat
.источник
Это также ошибка, которую выдает ssh (по крайней мере, в некоторых версиях), если у вас есть секретная фраза в вашем закрытом ключе, и вы неправильно вводите идентификационную фразу при попытке подключения.
(В частности, это случилось со мной с: OpenSSH_7.6p1, LibreSSL 2.6.2, который является встроенным SSH для Mac OS X 10.13.6.)
Поэтому дважды проверьте, что вы используете правильную фразу-пароль и что CAPS LOCK выключен.
источник
Убедитесь, что вы переименовали свой ключ PRIVATE и удалите расширение файла, которое является проблемой.
Шаги, которые я предпринял
Создайте свой открытый ключ:
Убедитесь, что вы находитесь в той же директории, где у вас есть закрытый ключ
Как создать открытый ключ:
убедитесь, что ключ PUBLIC имеет расширение .pub
после этого предоставьте соответствующие разрешения по соображениям безопасности:
ТОГДА самая важная часть и причина, по которой вы получили ошибку «неверный формат»
Убедитесь, что вы переименовали свой ключ PRIVATE и удалите расширение файла:
Удалите .pem из вашего закрытого ключа.
или если на компьютере с Windows переименуйте закрытый ключ, то же имя просто удалите
.pem
источник