Назад | Перейти на главную страницу

Ошибка PEM_read_PrivateKey

Я пытаюсь использовать ssh для входа в AWS из OSX Mavericks и чертовски провожу время. Я вхожу:

ssh -i ~/.ssh/filename.pem
ec2-user@ec2-xx-x-xxx-xx.compute-1.amazonaws.com -v

И я получаю это, а также всплывающее окно с цепочкой ключей, которое запрашивает пароль, хотя его и нет ...

debug1: key_parse_private_pem: PEM_read_PrivateKey failed
debug1: read PEM private key done: type <unknown>
Saving password to keychain failed.

Я запустил новый экземпляр на AWS и создал новую пару ключей. Когда я оставил файл .pem незащищенным, всплывающее окно связки ключей OSX не появилось, но я не смог получить доступ к AWS, потому что файл был незащищен:

Разрешения 0644 для '/Users/cvn/.ssh/chris-test.pem' слишком открыты.

Требуется, чтобы файлы ваших закрытых ключей НЕ были доступны для

другие. Этот закрытый ключ будет проигнорирован. плохие разрешения: игнорировать

ключ: /Users/cvn/.ssh/chris-test.pem В доступе отказано (открытый ключ).

Так что я побежал

chmod 400 chris-test.pem

и Связка ключей вернулась с просьбой ввести пароль, которого у меня нет ...

В моем случае закрытый ключ был в формате openssh (строка -----BEGIN OPENSSH PRIVATE KEY----- в ключевом файле для проверки), но клиент ssh работает только с форматом rsa (-----BEGIN RSA PRIVATE KEY----- линия). Я просто преобразовал одно в другое, и он работает. Узнайте, как преобразовать закрытый ключ Openssh в закрытый ключ RSA Вот.

Убедитесь, что вы действительно используете закрытый ключ (не общедоступный и не какой-то другой), и перепроверьте его содержимое.