Можно ли создать более одного закрытого ключа для SSH в экземпляре EC2? Какова общая лучшая практика для этого? У нас есть несколько пользователей, которым нужен SSH на серверы, и распространение одного ключа просто не работает. Это не позволяет нам лишать пользователей возможности использовать SSH на сервере, если мы не изменим ключ и не перераспределим.
amazon-ec2
amazon-web-services
образный
источник
источник
Ответы:
Абсолютно; Вы просто помещаете все соответствующие открытые ключи в изображение, и вы должны быть в порядке. Я предпочитаю использовать систему управления конфигурацией для управления ключами SSH; таким образом, довольно просто отозвать доступ пользователя даже на работающих системах. Существует также гораздо больше ... скажем, «творческих» ... способов обработки этого, таких как хранение всех ваших ключей SSH в LDAP, которые централизуют ключи SSH, как и любые другие учетные данные.
источник
Вы также можете использовать стандартные механизмы SSH. Наилучшим подходом было бы, если бы пользователь запустил на своей машине
ssh-keygen
сгенерированную пару ключей. Затем они отправляют вам~/.ssh/id_rsa.pub
(или id_dsa.pub, в зависимости от выбранного алгоритма), и вы добавляете его содержимое.ssh/authorized_keys
на целевой хост в домашнем каталоге учетной записи, к которой они должны иметь доступ. В файле может быть несколько ключей. Один на линию. И это все! Один и тот же открытый ключ (id_rsa.pub) можно использовать на любом количестве хостов - он всегда будет идентифицировать пользователя.Вы также можете сделать это иначе - вы запускаете ssh-keygen и отправляете пользователю ~ / .ssh / id_rsa (или id_dsa). И пользователь сохраняет файл в ~ / .ssh / id_rsa. Просто нужно помнить, чтобы изменить разрешения на 600 (-rw -------) этого файла, иначе ssh не примет это. Это, очевидно, менее безопасно, поскольку, вероятно, закрытый ключ распространяется по электронной почте.
Это также можно сделать в PuTTY с PuTTYgen.
источник
Более простой способ, как показано ниже.
Для пользователей Linux / Mac:
Для создания открытых и закрытых ключей используйте следующую команду:
$ ssh-keygen -t rsa -b 4096
Загрузите открытый ключ в папку в вашей корзине S3. Например: S3> MyBucket> Keypair
Сохраните и защитите свой закрытый ключ.
Для пользователей Windows:
Следующие шаги важны при запуске любого Linux AMI.
Убедитесь, что роль IAM имеет роль, созданную с помощью политики AmazonS3FullAccess. Это позволяет экземпляру взять на себя роль для доступа к сегментам S3. Это необходимо для чтения открытых ключей из S3 и их копирования в профиль пользователя.
Добавьте следующий код в раздел пользовательских данных в разделе Настройка сведений об экземпляре> Дополнительные сведения (в виде текста):
Эта настройка создает User1 и User2 и добавляет их пользователям sudo . Команда aws s3 cp копирует открытые ключи пользователей из папки S3 в их
.ssh/authorized_keys path
. Последний раздел - запускать команды от имени администратора без необходимости ввода паролей.Есть много улучшений безопасности, которые можно рекомендовать здесь. Хотя это явно не используется в этом примере, ограничение доступа к сегменту S3 определенным сегментом и знание последствий для безопасности при отключении использования пароля в sudo, - это несколько вещей, которые можно выделить. Используйте их с умом, исходя из ваших конкретных потребностей.
источник