Пользователь EC2 Ubuntu имеет неизвестный авторизованный ключ

#amazon-ec2 #terraform-provider-aws #ssh-keys #cloud-init

Вопрос:

Вот моя ситуация. Я использую terraform для создания машины EC2. В моем модуле TF я создал ресурс aws_key_pair amp; и передаю его, чтобы увидеть ниже:

 resource "aws_key_pair" "pub_key" {  key_name = "pub_key_${var.vm_name}"  public_key = var.public_key_val }  resource "aws_instance" "ec2" {  key_name = aws_key_pair.pub_key.key_name }  

У меня также есть модуль инициализации облака, который я передаю как user_data в aws_instance, который создает нового пользователя с тем же ключом, см. Ниже: TF

 resource "aws_instance" "ec2" {  key_name = aws_key_pair.pub_key.key_name  user_data = templatefile("${path.module}/cl-init.tpl") }   

Облачная инициализация

 users:  - name: mynewuser  gecos: mynewuser  sudo: ALL=(ALL) NOPASSWD:ALL  groups: users, admin, sudo  ssh_import_id: None  lock_passwd: true  shell: /bin/bash  ssh_authorized_keys:  - lt;pub_key_valgt;  

Мое наблюдение, после создания экземпляра EC2 я вижу, что пользователь ubuntu по умолчанию все еще существует в /stc/passwd amp; когда я захожу проверить его домашний каталог, и cat /home/ubuntu/.ssh/authorized_keys я вижу, что существует совершенно новый SSH-ключ.

Итак, мои вопросы:

  • Откуда взялся этот ключ? Каково поведение cloud init? — Я предполагал, что aws_key_pair перейдет к пользователю по умолчанию, т. е. ubuntu, и то, что я передам в cloud-init, попадет к новому пользователю? Кто-нибудь знает, каково было бы такое поведение?