Я пытаюсь использовать 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 Вот.
Убедитесь, что вы действительно используете закрытый ключ (не общедоступный и не какой-то другой), и перепроверьте его содержимое.