카테고리 없음

[AWS] RHEL 마스터 이미지 생성 관련...

tpcable 2023. 12. 12. 16:27

AWS 마켓 플레이스를 통해 RHEL 8.X 버전의 마스터 이미지를 생성하려고 하는데 원하는 설정이 계속 초기화 되는 문제가 있었다.

[문제점]
1. 암호로 로그인 가능하도록 sshd_config를 변경했으나 지속적으로 /etc/ssh/sshd_config 파일의
PasswordAuthentication no 로 설정 되어 로그인 불가

2. /etc/sudoers.d/90-cloud-init-users 파일을 수정했으나 변경되지 않음

대부분의 EC2 AMI는 OS에 cloud-init 서비스를 통해 인스턴스 시작 시 특정설정(네트워킹, 패키지 설치, 사용자 스크립트 실행)을 진행하는 것을 알게 되었다.
기본적으로 수행되는 설정은 /etc/cloud 하위 디렉토리에 위치하고 /etc/sudoers.d/90-cloud-init-users 파일 역시 cloud-init 설정 내용에 따라 인스턴스 최초 생성시 생성되는 파일인 것을 알게되었다.


# cat /etc/cloud/cloud.cfg
users:
 - default

disable_root: 1 <----- (A)
ssh_pwauth: 0 <----- (B)

mount_default_fields: [~, ~, 'auto', 'defaults,nofail,x-systemd.requires=cloud-init.service', '0', '2']
resize_rootfs_tmp: /dev
ssh_deletekeys: 1
ssh_genkeytypes: ['rsa', 'ecdsa', 'ed25519']
syslog_fix_perms: ~
disable_vmware_customization: false
.
.
.
system_info:
 default_user:
\tname: cloud-user
\tlock_passwd: true <----- (C)
\tgecos: Cloud User
\tgroups: [adm, systemd-journal]
\tsudo: [\"ALL=(ALL) NOPASSWD:ALL\"] <---- (D)
\tshell: /bin/bash
 distro: rhel
 paths:
\tcloud_dir: /var/lib/cloud
\ttemplates_dir: /etc/cloud/templates
 ssh_svcname: sshd


- disable_root no로 되어 있으면 cloud-init 은 시작시 SSH 데몬 설정파일 에서 PermitRootLogin 설정을 no로 변경하게 되어 SSH를 통한 root 로그인을 막음, root 계정을 통한 로그인을 허용하려면 disable_root: 0으로 변경

- ssh_pwauth 설정 값이 0일 경우 SSH 데몬 설정중 PasswordAuthentication을 no로 변경하게되어 암호 인증을 불가능하게함 허용 할경우 ssh_pwauth: 1로 변경

- lock_passwd 설정은 기본사용자의 암호를 잠금 처리 할지 여부를 정의 RHEL8의 경우 기본사용자는 ec2-user
아래와 같은 설정 때문에 ec2-user 가 계속 생성됨
# cat /etc/cloud/cloud.cfg.d/00-rhel-default-user.cfg
system_info:
 default_user:
 name: ec2-user



참고자료

cloud-init - SSH - Authorized Keys - https://cloudinit.readthedocs.io/en/latest/topics/modules.html?highlight=disable_root#authorized-keys
cloud-init - Set Passwords - https://cloudinit.readthedocs.io/en/latest/topics/modules.html#set-passwords
cloud-init - Users and Groups - https://cloudinit.readthedocs.io/en/latest/topics/modules.html?highlight=disable_root#users-and-groups