DevOps/Linux
Linux :: ubuntu22.04 cloud-init 으로 계정/비밀번호 초기화
aoc55.soft@gmail.com
2025. 2. 16. 18:01
Linux Ubuntu 22.04로 VM 생성 시, Cloud-init 통해서 계정 초기화 및 루트 비밀번호 등 설정하는 법
테스트한 이미지 : jammy-server-cloudimg-amd64.qcow2
비밀번호 암호화
사용 할 비밀번호 SHA-512(SHA-2)
로 암호화
openssl passwd -6 "1234"
# 출력예시
$6$bz6cU1R87YZ6ZlKI$Rp3XB4WjMQ9.T18fypOVxyo1Xr7YRBDuwN4xh98sVDiAZwCm1LHb57ZkpY6in6xVuG/Q3677y72WG/NSlkLpO0
cloud-init Script
중간에 passwd: ...
부분에 위에서 암호화된 비밀번호 설정
작성 시 Indent 준수 주의 (Indent 오류 시 반영되지 않을 수 있음)
#cloud-config
users:
- name: myuser # 생성할 사용자명
gecos: "My Test User"
sudo: ALL=(ALL) NOPASSWD:ALL
groups: users, admin
shell: /bin/bash
lock_passwd: false
passwd: "$6$bz6cU1R87YZ6ZlKI$Rp3XB4WjMQ9.T18fypOVxyo1Xr7YRBDuwN4xh98sVDiAZwCm1LHb57ZkpY6in6xVuG/Q3677y72WG/NSlkLpO0"
+ root 비밀번호도 변경하기
아래 구문을 추가해준다
chpasswd:
list: |
root:$6$bz6cU1R87YZ6ZlKI$Rp3XB4WjMQ9.T18fypOVxyo1Xr7YRBDuwN4xh98sVDiAZwCm1LHb57ZkpY6in6xVuG/Q3677y72WG/NSlkLpO0
expire: false
+ 그 외 추가 설정
아래 옵션 등을 추가로 부여할 수 있으나, 보안상 주의 필요함
ssh_pwauth: true # SSH Password 로그인 활성화
disable_root: false # root 로그인 활성화
+ 샘플
#cloud-config
users:
- name: myuser
gecos: "My Test User"
sudo: ALL=(ALL) NOPASSWD:ALL
groups: users, admin
shell: /bin/bash
lock_passwd: false
passwd: "$6$GKvAmgTjA0RiV3yr$kF2bXHlYK6Bi.ymaHcDG1DWBGu8GuT./9xyyjMnK.u2oKsfTAQrYGx08gIXz0TDyB9jmMZW6/IfQK19IjWp0f."
chpasswd:
list: |
root:$6$GKvAmgTjA0RiV3yr$kF2bXHlYK6Bi.ymaHcDG1DWBGu8GuT./9xyyjMnK.u2oKsfTAQrYGx08gIXz0TDyB9jmMZW6/IfQK19IjWp0f.
expire: false
ssh_pwauth: true
disable_root: false