Закрытый ключ для подключения экземпляра EC2 - PullRequest
0 голосов
/ 15 декабря 2018

Локально, мы не используем открытый-закрытый ключ для подключения к виртуальной машине Linux, запущенной на ESX.

root-пользователь создает / настраивает локальных пользователей (с истечением срока действия) на виртуальной машине и предоставляет доступ кпользователи без полномочий root


Администратор (IAM) на консоли AWS создает экземпляр EC2, который должен использоваться несколькими пользователями без прав администратора (IAM).

Пользователь с правами администратора (IAM) может подключиться к экземпляру EC2, используя команду:

ssh -i /local_to_machine/my_private_key.pem user_name@public_dns_name

Пользователь с правами администратора не имеет корневого доступа к экземпляру EC2, вместо этого имя пользователя - ec2_user (UID= 1000), который является обычным пользователем, но имеет доступ sudo почти ко всем

$ cat /etc/group | grep ec2-user
adm:x:4:ec2-user
wheel:x:10:ec2-user
systemd-journal:x:190:ec2-user
ec2-user:x:1000:

1) Может ли пользователь-администратор IAM иметь root-доступ (UID = 0) к экземпляру EC2?

2) Будучи пользователем root, могут ли несколько пользователей без полномочий root подключиться к этому экземпляру?без личного ключа ...

Ответы [ 2 ]

0 голосов
/ 16 декабря 2018

1) Может ли пользователь-администратор IAM иметь root-доступ (UID = 0) к экземпляру EC2?

IAM не отвечает за доступ к ОС вашего экземпляра EC2, он только определяет политику доступадля объектов AWS (EC2, S3, SQS и т. д.).Вы подключаетесь к экземпляру EC2, используя предварительно настроенного пользователя ssh и ваш открытый ключ, а не используя свои учетные данные пользователя IAM, поэтому вся дальнейшая конфигурация ssh acccess полностью зависит от вашей ответственности и не связана с IAM.

0 голосов
/ 15 декабря 2018

Я не знаю о 1., но вот чем я могу вам помочь.

Разрешение доступа к пользователю root / не-root на экземпляре EC2 определяется ключами.

Например, по умолчанию файл .pem, предоставленный AWS при запуске экземпляра, не имеет корневого доступа, почему?потому что открытый ключ этого .pem файла не указан в списке авторизованных ключей, которые могут обращаться к пользователю root.

, что вы можете сделать, чтобы проверить следующее:

ssh-keygen -f my_private_key.pem -y > my_public_key.pub (1)
cat my_public_key.pub                                   (2)

Теперь SSHв ваш экземпляр с помощью этой команды:

ssh -i /local_to_machine/my_private_key.pem user_name@public_dns_name (3)

cat ~/.ssh/authorized_keys                                            (4)

Здесь, по крайней мере, 1 запись будет публичной частью файла pem, полученного вами из 2.

Теперь предположим, что вы хотите датькомпьютер с прямым доступом root к экземпляру EC2.Что вы хотите сделать, это добавить их открытый ключ в файл authorized_keys под учетной записью root:

//Ask them to give you the PUBLIC key
ssh -i /local_to_machine/my_private_key.pem user_name@public_dns_name 
sudo su // changes from current user to root user 
echo "<their public key>" >> ~/.ssh/authorized_keys

Теперь они могут напрямую обращаться к пользователю root с помощью

  ssh root@public_dns_name 

.управление несколькими учетными записями с привилегиями root / non-root.Я рекомендую сохранить файл .pem для себя (сохранить его на случай чрезвычайных ситуаций) и управлять доступом к добавляющим / удаляющим записям в файле ~./ssh/authorized_keys.

Если вы не хотите запрашиватьих открытые ключи вы можете создавать файлы pem самостоятельно

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...