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