Как заменить /root/.ssh/authorized_keys облачной конфигурацией на EC2?
При развертывании нового экземпляра EC2 необходимо выбрать ключ SSH, чтобы предоставить доступ к машине. Я хотел бы использовать только авторизованные ключи, указанные в пользовательских данных для экземпляра. Это возможно? Я пытался использовать оба ssh-authorized-keys
:
users:
- name: user
ssh-authorized-keys:
- ssh-rsa [...] my_key
а также write_files
:
write_files:
- content: |
ssh-rsa [...] my_key
path: /home/user/.ssh/authorized_keys
, но в обоих случаях оригинальный ключ добавляется в /root/.ssh/authorized_keys
автоматически. Нужно ли отключить root
войти, чтобы отключить этот ключ навсегда?
2 ответа
Пользователь ec2-user | centos | ubuntu... является default_user, как определено в /etc/cloud/*.cfg
Вот как пропустить это поведение default_user и настроить другого пользователя по данным пользователя:
#cloud-config
system_info:
default_user: ~
users:
- name: myname
sudo: ALL=(ALL) NOPASSWD:ALL
ssh-authorized-keys:
- ssh-rsa AAAA[...]O1 myname@myhost
Обратите внимание, что пара ключей, выбранная в консоли AWS / api, игнорируется.
Если вы запускаете экземпляр с веб-консоли AWS, вы можете выбрать запуск без ключа на последнем этапе. Таким образом, только открытый ключ, указанный вами в cloud-config, будет введен в экземпляр.