Как добавить файл EC2 PEM в цепочку ключей SSH – CloudSavvy IT
Когда вы создаете новый экземпляр в EC2, вам предоставляется файл PEM, который действует как ваш ключ доступа. Вам придется использовать это для SSH на сервере, поэтому вы захотите добавить его в свою цепочку для ключей для быстрого доступа.
Как использовать ваш файл PEM
Вы можете использовать файлы PEM вручную, добавив -i
флаг для SSH:
ssh -i keyfile.pem user@host
Это неудобно вводить каждый раз, поэтому есть несколько способов это исправить.
Программы для Windows, мобильные приложения, игры - ВСЁ БЕСПЛАТНО, в нашем закрытом телеграмм канале - Подписывайтесь:)
Самый простой способ – добавить свои открытые ключи в ваш экземпляр EC2 и игнорировать файл PEM для всех будущих входов в систему. Ваш открытый ключ обычно хранится в ~/.ssh/id_rsa.pub
так что вы хотите скопировать это в ~/.ssh/authorized_keys
файл на сервере. Если вы работаете в команде из одного человека, просто работаете на одном сервере и не против делать это каждый раз, это все, что вам нужно сделать.
Однако вам придется проходить этот процесс каждый раз, когда вы создаете новый экземпляр. Но с файлами PEM вы можете повторно использовать их между экземплярами. Кроме того, они не зависят от ваших личных закрытых ключей, поэтому вы можете передать их другим людям, которым необходим доступ по ssh.
ssh-add
команда сохранит ключ в ssh-agent
пока вы не выйдете из системы:
ssh-add ~/keyfile.pem
Тем не менее, вам нужно запускать это при каждой перезагрузке, так что это не идеально. Вы можете добавить это к вашему ~/.bashrc
или же ~/.bash_profile
запускаться каждый раз при загрузке терминала, что решает проблему. Обязательно перенаправьте вывод на /dev/null
чтобы заставить команду замолчать, или вы увидите «Identity Added» каждый раз, когда открываете терминал.
ssh-add ~/keyfile.pem >/dev/null 2>&1
Хранить ключи SSH в macOS Keychain
Если вы используете MacOS, вы можете хранить дополнительные ключи SSH в цепочке ключей MacOS. Открыть ~/.ssh/config
и добавьте следующие строки:
Host * UseKeychain yes
Теперь вы можете добавить ключи с
ssh-add -K ~/keyfile.pem
Ключи будут храниться в связке ключей и сохраняться при перезагрузке. Они будут автоматически загружены так же, как ~/id_rsa
,
Замените id_rsa своим новым ключом
Хотя этот параметр работает, мы не рекомендуем этого делать. Но если по какой-то причине вы действительно Если ваш личный ключ AWS будет вашим новым личным личным ключом, вы можете заменить id_rsa
с файлом PEM от AWS. id_rsa
загружен по умолчанию, поэтому вы по умолчанию будете использовать этот ключ для всего.
Сделать абсолютно уверен вы ни для чего не используете свой текущий закрытый ключ (SSH для других серверов, GitHub и т. д.). Даже если вы думаете, что нет, перед тем как продолжить, сделайте резервную копию ваших текущих ключей SSH:
mv ~/.ssh/id_rsa ~/.ssh/id_rsa_old mv ~/.ssh/id_rsa.pub ~/.ssh/id_rsa_old.pub
Файл AWS PEM необходимо преобразовать в формат PKCS8 для использования в качестве закрытого ключа. Вы можете сделать это с OpenSSL:
openssl pkey < keyfile.pem > keyfile.pkcs8
Затем вам нужно сгенерировать соответствующий открытый ключ, снова используя OpenSSL
openssl rsa -in keyfile.pkcs8 -pubout > keyfile.pub
Затем, убедившись, что вы сделали резервную копию своего старого id_rsa
Вы можете заменить их новыми:
mv keyfile.pkcs8 ~/.ssh/id_rsa mv keyfile.pub ~/.ssh/id_rsa.pub
Программы для Windows, мобильные приложения, игры - ВСЁ БЕСПЛАТНО, в нашем закрытом телеграмм канале - Подписывайтесь:)