Ubuntu Cloud 이미지의 비밀번호를 설정하는 방법(예: SSH를 사용하지 않음)

Ubuntu Cloud 이미지의 비밀번호를 설정하는 방법(예: SSH를 사용하지 않음)

저는 매우 특별한 네트워크 구성으로 OpenStack 클라우드를 실행하고 있습니다. 이로 인해 로그인하고 여러 구성 파일을 설정할 때까지 인스턴스가 외부 세계의 어떤 것과도 통신할 수 없습니다.

그 결과 나는할 수 없다SSH 키를 사용하여 인스턴스에 로그인합니다. Horizon 콘솔에서 직접 로그인할 수 있도록 Ubuntu 12.04(12.04여야 함) 클라우드 이미지에 기본 비밀번호를 설정하는 방법이 있습니까? 나는 에 설명된 절차를 사용해 보았습니다.https://ask.openstack.org/en/question/5531/defining-default-user-password-for-ubuntu-cloud-image/하지만 Ubuntu 12.04에서는 작동하지 않았습니다. 하지만 14.04에서는 작동했습니다.

답변1

18.04 단계별 설정

간단히 말해서 다음이 필요합니다.

sudo apt-get install cloud-image-utils

cat >user-data <<EOF
#cloud-config
password: asdfqwer
chpasswd: { expire: False }
ssh_pwauth: True
EOF

cloud-localds user-data.img user-data

# user-data.img MUST come after the rootfs. 
qemu-system-x86_64 \
-drive file=ubuntu-18.04-server-cloudimg-amd64.img,format=qcow2 \
-drive file=user-data.img,format=raw
...

이제 다음을 사용하여 로그인할 수 있습니다.

  • 사용자 이름:ubuntu
  • 비밀번호:asdfqwer

여기에서는 최소한의 세부 작업 QEMU 예제를 설명합니다.온라인에 사전 구축된 QEMU Ubuntu 이미지(32비트)가 있습니까?

답변2

먼저 이미 키 쌍이 있는 virtualbox 또는 vmware에서 가상 머신(VM) 이미지를 생성할 수 있습니다. virtualbox나 vmware를 자유롭게 제어할 수 있으므로 가상 호스트에서 키 쌍을 얻을 수 있습니다.

  1. 그런 다음 키 쌍을 오픈 스택으로 가져옵니다.

  2. 이 가상 머신 이미지를 업로드하세요.

  3. 이 이미지에서 인스턴스(A)를 생성합니다.

  4. 키 쌍(1단계에서 업로드)이 주입된 클라우드 이미지에서 인스턴스(B)를 생성합니다.

  5. 인스턴스 A의 콘솔을(수평선에서) 엽니다. 이제 B가 A의 공개 키를 삽입했기 때문에 A에서 인스턴스 B를 연결할 수 있습니다.

  6. 로그인 후 인스턴스 B에 대한 환경 설정 및 구성 변경이 가능합니다.

답변3

귀하의 이미지는:focus-server-cloudimg-amd64.img입니다.

rm -f vm_0001-focal-server-cloudimg-amd64.qcow2
qemu-img create -f qcow2 -F qcow2 -b focal-server-cloudimg-amd64.img  vm_0001-focal-server-cloudimg-amd64.qcow2 20G
qemu-img info vm_0001-focal-server-cloudimg-amd64.qcow2
VM_NAME="ubuntu-20-cloud-image"
USERNAME="programster"
PASSWORD="thisok"
echo "#cloud-config
system_info:
  default_user:
    name: $USERNAME
    home: /home/$USERNAME

password: $PASSWORD
chpasswd: { expire: False }
hostname: $VM_NAME

# configure sshd to allow users logging in using password 
# rather than just keys
ssh_pwauth: True
" | sudo tee user-data
cloud-localds ./cidata.iso user-data
qemu-system-x86_64 -m 2048 -smp 4 -hda ./vm_0001-focal-server-cloudimg-amd64.qcow2 \
      -cdrom ./cidata.iso -device e1000,netdev=net0 -netdev user,id=net0,hostfwd=tcp::5555-:22 -nographic

관련 정보