Можно ли вставить фразу-пароль в файл закрытого ключа?

369
Dims

У меня есть какой-то ключевой файл

----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инструмент, и он сообщил об ошибке.

1
Есть ли строка "DEK-Info:" вверху? grawity 7 лет назад 0
Некоторые примеры ключей, закодированных и не закодированных здесь. http://serverfault.com/a/628980/984 Zoredache 7 лет назад 1
Фраза-пароль не находится в закрытом ключе, фраза-пароль находится только в пользовательской памяти, фраза-пароль защищает закрытый ключ. daniel Azuelos 7 лет назад 0
@danielAzuelos Я клянусь, у меня нет парольной фразы в моей памяти Dims 7 лет назад 0
Затем опишите, как вы создали эту пару (закрытый ключ, открытый ключ). Источник проблемы стоит там. daniel Azuelos 7 лет назад 0
Открывали ли вы свой закрытый ключ с помощью текстового редактора (`vi`,` emacs`, `Word`,` TexteEdit`, `Pages`)? Если да, пожалуйста, рассмотрите ответ от @Jakuje. daniel Azuelos 7 лет назад 0

3 ответа на вопрос

3
Jakuje

OpenSSH запрашивает фразу-пароль для каждого ввода мусора. Есть открытая ошибка для этого апстрима. Это может быть очень запутанным для многих пользователей.

Единственный способ проверить, что стоит за этим, - использовать openssl напрямую:

openssl rsa -text <mykey.pem 

Следует запросить фразу-пароль или сообщить о любой другой ошибке в ключе.

2
grawity

Это означает, что сам ключ был зашифрован с использованием ключевой фразы. Чтобы войти с ключом, ssh сначала должен расшифровать его.

Вы абсолютно уверены? Там нет никаких строк DEK или что-то внутри файла. Dims 7 лет назад 0
В этом случае, смотрите ответ Jakuje. grawity 7 лет назад 0
0
SPRBRN

Когда вы создаете закрытый ключ, вы можете защитить его паролем. Если вы на 100% уверены, что никто (и никакой вирус или что-либо еще) никогда не скопирует этот ключ, вы можете обойтись без него. То же самое, если ключ для чего-то, что не имеет значения, как локальный тестовый компьютер, на котором нет ничего важного. В противном случае рекомендуется использовать пароль.

Если закрытый ключ защищен, ключ шифруется с использованием этого пароля, и вам необходимо использовать пароль для разблокировки ключа. Так что это нормально, что SSH запрашивает пароль для использования ключа.

Похожие вопросы