Может ли фраза-пароль быть встроена в файл закрытого ключа?
У меня есть какой-то ключевой файл
----BEGIN RSA PRIVATE KEY-----
SOMEGARBAGECHARACTERS
-----END RSA PRIVATE KEY-----
но когда я пытаюсь использовать его с ssh, он запрашивает парольную фразу:
ssh -i mykey.pem myuser@myserver.amazonaws.com
Enter passphrase for key 'mykey.pem':
Это просто означает, что внутри этого файла закодирована какая-то ключевая фраза? Или значит что-то еще?
ОБНОВИТЬ
Никаких линий DEK или что-то. Только однородная масса случайных символов.
ОБНОВЛЕНИЕ 2
Файл ключа был как-то поврежден. Я получил его по электронной почте и скопировал в текстовый редактор. Там не было никаких видимых различий, но на самом деле они были там. После того, как я открыл письмо с помощью редактора raw и скопировал / вставил ключ таким образом - все сработало.
Как предложил @Jakuje, я использовал openssl
инструмент, и он сообщил об ошибке.
3 ответа
OpenSSH запрашивает фразу-пароль для каждого ввода мусора. Существует открытая ошибка для этого апстрима. Это может быть очень запутанным для многих пользователей.
Единственный способ проверить, что стоит за этим, - использовать openssl напрямую:
openssl rsa -text <mykey.pem
Следует запросить пароль или сообщить о любой другой ошибке в ключе.
Это означает, что сам ключ был зашифрован с использованием ключевой фразы. Чтобы войти с ключом, ssh сначала должен расшифровать его.
Когда вы создаете закрытый ключ, вы можете защитить его паролем. Если вы на 100% уверены, что никто (и ни вирус, ни что-либо еще) никогда не скопирует этот ключ, вы можете обойтись без него. То же самое, если ключ для чего-то, что не имеет значения, как локальный тестовый компьютер, на котором нет ничего важного. В противном случае рекомендуется использовать пароль.
Если закрытый ключ защищен, ключ шифруется с использованием этого пароля, и вам необходимо использовать пароль для разблокировки ключа. Так что это нормально, что SSH запрашивает пароль для использования ключа.