| 参数形态 | --cloud-init user-data=/path/user-data.yaml,root-password=密码 |
|---|---|
| 镜像要求 | 镜像内已安装 cloud-init 且支持 NoCloud |
| 常用内容 | 初始用户、SSH 公钥、首次启动脚本 |
| 注意 | root 密码会出现在命令历史与脚本里 |
用 cloud-init 创建初始用户
用 cloud-init 创建初始用户
cat > /tmp/user-data.yaml <<'EOF'
#cloud-config
users:
- name: ops
sudo: ALL=(ALL) NOPASSWD:ALL
ssh_authorized_keys:
- ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAA...(替换为实际公钥)
EOF
virt-install --name app01 --memory 2048 --vcpus 2 --import \
--disk path=/data/images/rocky9.qcow2,bus=virtio \
--network network=default,model=virtio --graphics none \
--console pty,target_type=serial \
--cloud-init user-data=/tmp/user-data.yaml,root-password='ChangeMe_2026'