Estou executando uma nuvem OpenStack com uma configuração de rede muito específica, que torna impossível para uma instância se comunicar com qualquer coisa no mundo externo até que eu faça login nela e defina vários arquivos de configuração.
Como resultado disso, eunão podefaça login nas instâncias usando chaves SSH. Existe uma maneira de definir uma senha padrão em uma imagem de nuvem do Ubuntu 12.04 (tem que ser 12.04) para que eu possa fazer login diretamente no console do Horizon? Tentei usar o procedimento descrito emhttps://ask.openstack.org/en/question/5531/defining-default-user-password-for-ubuntu-cloud-image/mas não funcionou no Ubuntu 12.04... mas funcionou no 14.04.
Responder1
Configuração do 18.04 passo a passo
Resumindo, você precisa de:
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
...
e agora você pode fazer login com:
- nome de usuário:
ubuntu
- senha:
asdfqwer
Aqui eu descrevo um exemplo completo e mínimo de trabalho do QEMU:Existe alguma imagem QEMU Ubuntu pré-construída (32 bits) online?
Responder2
Você pode primeiro criar uma imagem de máquina virtual (VM) do virtualbox ou vmware que já possui um par de chaves. como você pode controlar sua caixa virtual ou VMware livremente, você pode obter o par de chaves do host virtual.
em seguida, importe o par de chaves para o seu openstack.
carregue esta imagem de máquina virtual
crie uma instância (A) a partir desta imagem
crie uma instância (B) a partir da imagem da nuvem com o par de chaves (carregado na etapa 1) injetado
abra o console (no horizonte) da instância A, agora você pode conectar a instância B de A, porque B injetou a chave pública de A
depois de logado, você pode configurar o ambiente para a instância B e alterar a configuração
Responder3
sua imagem é: focal-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