EC2 и key_pair — как использовать разные ssh_key

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

#amazon-ec2 #terraform #ssh-ключи #terraform-поставщик-aws

Вопрос:

Я создаю небольшую plateforme на AWS с помощью скрипта Terraform. На данный момент есть один EC2, где я могу использовать ssh. Для этого я заполнил переменную key_name в a aws_instance .

Как я могу добавить еще один ssh_key, если я хочу, чтобы коллега тоже подключился к экземпляру по ssh? key_name принимайте строку, а не список.

 resource "aws_instance" "airflow" {
  ami                    = "ami-0d3f551818b21ed81"
  instance_type          = "t3a.xlarge"
  key_name               = "admin"
  vpc_security_group_ids = [aws_security_group.ssh-group.id, aws_security_group.airflow_webserver.id]
  tags = {
    "Name" = "airflow"
  }
  subnet_id = aws_subnet.subnet1.id
}

resource "aws_key_pair" "admin" {
  key_name   = "admin"
  public_key = file(var.public_key_path)
}

output "public_airflow_ip" {
  value = aws_instance.airflow.public_ip
}
 

Ответ №1:

Конфигурация через API допускает только одну пару ключей. Однако вы можете вручную (или с помощью скрипта) добавить вторую учетную запись пользователя с их собственными ключами. Пожалуйста, посмотрите, как мне добавить новые учетные записи пользователей с доступом по SSH к моему экземпляру Amazon EC2 Linux?

С учетом сказанного рекомендуется входить в инстансы с помощью диспетчера сеансов AWS Systems Manager вместо прямого SSH. Таким образом, вы можете контролировать доступ к экземплярам с помощью политик IAM, и вам не нужно предоставлять SSH-порт для доступа в Интернет.

Комментарии:

1. «рекомендуется не входить в экземпляры с помощью» — опечатка? Чрезмерное «нет»?

2. Итак, как я могу поделиться конфигурацией Terraform, не делясь своим ssh-ключом?