Защита паролем PEM-файла


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

-----BEGIN RSA PRIVATE KEY-----
Proc-Type: 4,ENCRYPTED
DEK-Info: AES-128-CBC,<BlahBlahBlah>

<encrypted stuff is here>

-----END RSA PRIVATE KEY-----

Затем, когда я SSH в поле, я указываю свой защищенный паролем PEM-файл, и он просит меня ввести пароль перед расшифровкой и SSH-вводом.

Я нашел это: https://martin.kleppmann.com/2013/05/24/improving-security-of-ssh-private-keys.html

Который говорит мне использовать эту команду

ssh-keygen -t rsa -N 'super secret passphrase' -f test_rsa_key
Но полученный зашифрованный файл (который имеет правильный заголовок, который я ищу), похоже, не работает. Я получаю " разрешение отказано (publickey)."когда я пытаюсь ssh, используя этот зашифрованный файл pem. Я могу зайти через SSH с незашифрованный файл PEM.
1 4

1 ответ:

Это происходит потому, что команда, которую вы используете, генерирует новую пару ключей вместо защиты существующего закрытого ключа.

Попробуйте использовать -p Вариант ssh-keygen

ssh-keygen -p -f my_private_key
Он запросит у вас пароль и защитит ваш закрытый ключ.
Enter new passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved with the new passphrase.

Теперь, если вы используете my_private_key в ssh, он запросит пароль, и это будет успешно.

 -p      Requests changing the passphrase of a private key file instead of
         creating a new private key.  The program will prompt for the file
         containing the private key, for the old passphrase, and twice for
         the new passphrase.