Лучший способ защитить ваши пары ключей EC2, которые являются просто ключами SSH, - это зашифровать их парольной фразой (и следовать обычному процессу управления паролями для этой парольной фразы). Предполагая, что вы используете Linux, вы можете использовать ssh-keygen -p -f $file
для шифрования ключа. Вы должны хранить резервную копию, желательно физически защищенную (например, флэш-накопитель в сейфе или что-то в этом роде). Я предполагаю, что вы говорите о закрытой половине ключа, поскольку открытый ключ, очевидно, является открытым.
Теоретически, было бы лучше хранить ключ на доверенном платформенном модуле на вашей рабочей станции или на смарт-карте, но обычно есть практические проблемы с этим решением при работе с ключами SSH.
Неправильно ли хранить ключ на своем домашнем ПК, зависит от того, является ли это нарушением политики. Если это не так, то, честно говоря, нет оснований считать, что это хуже, чем хранить его на ноутбуке, который вы используете для работы.
Вы, конечно, можете сохранить резервную копию ключа в S3 (вместо физической резервной копии). Модель угрозы такова, что у вас уже очень плохой день (среди прочего, в отношении утечки данных и прерывания обслуживания), если кто-то может получить доступ к вашей учетной записи AWS. Но, если не существует какого-либо участника безопасности, который может иметь доступ к корзине S3 с вашим ключом, но ему не разрешено входить в машины, вам придется искать другой путь. Если вы храните копию в S3, по крайней мере, убедитесь, что она зашифрована парольной фразой.