1.虚拟机创建时设置密码
计算节点安装以下软件包
yum install libguestfs python-libguestfs libguestfs-tools-c
配置计算节点nova配置文件/etc/nova/nova.conf,添加如下选项
[libvirt]
inject_password=true
inject_key=true
inject_partition=-1
 
重启计算节点的nova服务
systemctl restart openstack-nova-compute libvirtd
 
user data 也可以是 cloud-init 支持的一个 yaml 结构文件,所以还可以通过如下方式改密码
# cat ./cloud-config.txt
#cloud-config
chpasswd:
list: |
root:123456
expire: False
创建虚拟机并设置密码的命令如下
nova boot --user-data ./cloud-config.txt --image ...  或者openstack server create --user-data ./cloud-config.txt --image ...
示范如下
openstack server create --flavor 1c2g --user-data ./cloud-config.txt --availability-zone nova --image 75398b9c-5cd6-4936-a093-eba02984f7f0 \
--nic net-id=5ac5c948-909f-47ff-beba-a2ffaf917c5f,v4-fixed-ip=172.16.99.134 \
--nic net-id=85ae5035-203b-4ef7-b65c-397f80b5a8af,v4-fixed-ip=172.16.100.34 \
--security-group 5bb5f2b1-9210-470f-a4a7-2715220b2920  tomcat-vm4
 
2.虚拟机启动后修改密码
如果需要nova set-password起作用,需要image中装有qemu-guest-agent,另外需要设置meta中的 hw_qemu_guest_agent为yes
2.1首先需要在openstack镜像中增加metadata信息:hw_qemu_guest_agent=yes,命令如下:
# glance image-update 75398b9c-5cd6-4936-a093-eba02984f7f0 --property hw_qemu_guest_agent=yes
+---------------------+--------------------------------------------------------------------+
| Property | Value |
+---------------------+--------------------------------------------------------------------+
| checksum | fc345c82d1f2f28c63a1be8b386a15e4 |
| container_format | bare |
| created_at | 2020-02-19T08:45:40Z |
| direct_url | file:///var/lib/glance/images/75398b9c-5cd6-4936-a093-eba02984f7f0 |
| disk_format | raw |
| hw_qemu_guest_agent | yes |
| id | 75398b9c-5cd6-4936-a093-eba02984f7f0 |
| min_disk | 0 |
| min_ram | 0 |
| name | CentOS 7.6 64位 |
| owner | 75aed7016c86445198356e78dddde4ba |
| protected | False |
| size | 5368709120 |
| status | active |
| tags | [] |
| updated_at | 2020-02-20T05:05:58Z |
| virtual_size | None |
| visibility | public |
+---------------------+--------------------------------------------------------------------+
其中75398b9c-5cd6-4936-a093-eba02984f7f0为镜像ID
 
修改启动后的虚拟机密码为123456
# nova set-password 550e9a70-8064-4180-8bab-502ee15e6647 或者 openstack server set --root-password 550e9a70-8064-4180-8bab-502ee15e6647
New password:
Again:
其中550e9a70-8064-4180-8bab-502ee15e6647为虚拟机ID
# nova help set-password
usage: nova set-password <server>
 
Change the admin password for a server.
 
Positional arguments:
  <server>  Name or ID of server.
测试密码是否修改成功
# sshpass -p '123456' ssh root@172.16.99.134 w
13:28:54 up 14 min,  1 user,  load average: 0.04, 0.08, 0.13
USER     TTY      FROM             LOGIN@   IDLE   JCPU   PCPU WHAT
root     pts/0    10.30.1.103      13:20    8:28   0.03s  0.03s -bash
 
在openstack horizon中重建实例时支持设置密码,同样可以生效了。
 
扩展1:给单个云主机中增加metadata信息:hw_qemu_guest_agent=yes,命令如下:
nova meta 550e9a70-8064-4180-8bab-502ee15e6647  set hw_qemu_guest_agent=yes
 
扩展2:
上传镜像前修改密码
virt-customize -a /tmp/CentOS7.6_x86_64.raw  --root-password password:123456
上传镜像
openstack image create "CentOS 7.6 64位 V2" --file /tmp/CentOS7.6_x86_64.raw --disk-format raw --container-format bare --public

如何修改openstack虚拟机密码的更多相关文章

  1. OpenStack 镜像密码修改办法

    Contents [hide] 1 场景 2 方案一 3 方案二 4 方案三 5 目前采用方案三 场景 用户将实例里的root密码修改了,/root/.ssh/的公钥文件删除了,然后把密码忘记了,需要 ...

  2. kvm 修改虚拟机密码

    kvm 修改虚拟机密码 现在虚拟机kvm的使用很流行,为了更多的差异化环境,每个人可能拥有很多的kvm,这数量一多难免会有image的密码会忘记,相信很多人会采用kernel single user ...

  3. 修改openstack镜像--支持root密码登陆

    一.前言 从openstack官方下载的云镜像一般都是普通用户密钥登陆,比如centos镜像的普通用户为centos,ubuntu镜像的普通用户为ubuntu,虽然密钥登陆系统相比密码登陆来说比较方便 ...

  4. debian官网qcow2镜像修改root账号密码,开启ssh等

    1.下载官网qcow2镜像文件 wget http://172.16.20.10/vmtemplate/KVM/wangrui/Debian/debian-10.2.0-openstack-amd64 ...

  5. OpenStack虚拟机冷迁移与热迁移

    一.虚拟机迁移分析 openstacvk虚拟机迁移分为冷迁移和热迁移两种方式. 1.1冷迁移: 冷迁移(cold migration),也叫静态迁移.关闭电源的虚拟机进行迁移.通过冷迁移,可以选择将关 ...

  6. 修改openstack用户配额

    修改openstack用户配额 这是我在工作中遇到的一个很有趣的小问题,当时的场景是这样的: 公司的云产品要上线数据库服务(trove),因为每创建数据库实例都要占用一个虚拟机及相关资源的配额,尤其是 ...

  7. 云计算与OpenStack(虚拟机Nova篇)

    <云计算与OpenStack(虚拟机Nova篇)> 基本信息 作者: 伯龙 程志鹏 张杰 出版社:电子工业出版社 ISBN:9787121201202 上架时间:2013-8-5 出版日期 ...

  8. 如何使用API创建OpenStack虚拟机?

    在安装时OpenStack会加载配置信息.有不同的虚拟机模板而且与在Amazon EC2以及其他平台上看到的完全一样.这些配置是内存.vCPU.磁盘容量等的组合,定义了虚拟机的大小及容量.可以使用如下 ...

  9. 快速修改Windows系统密码命令

    因现场需要,要对30多台虚拟机进行密码修改.正常修改方式为进入控制面板--用户账户--修改密码,输入原始密码.2遍新密码(一遍用于密码确认)完成密码修改. 这种方式操作较为繁琐,我们可以直接通过命令的 ...

随机推荐

  1. JUC并发工具包之CyclicBarrier

    1.简介 CyclicBarrier是一个同步器,允许多个线程等待彼此直到达一个执行点(barrier). CyclicBarrier都是在多个线程必须等到彼此都到达同一个执行点后才执行一段逻辑时才被 ...

  2. CentOS 7定时执行python脚本

    CentOS 7定时执行python脚本 在CentOS下,可以使用crontab进行定时任务的处理. 一.crontab的安装 默认情况下,CentOS 7中已经安装有crontab,如果没有安装, ...

  3. golang 自学系列(四)——debug for vscode

    golang 自学系列(四)--(调试)VSCode For Debug 这里如何装 vscode 我就不说了 这里如何在 vscode 正常写代码我也不说了 在能正常用 vscode 写 go 语言 ...

  4. Python超全干货:【二叉树】基础知识大全

    概念 二叉树是每个节点最多有两个子树的树结构.通常子树被称作"左子树"(left subtree)和"右子树"(right subtree) 二叉树的链式存储: ...

  5. fist-第五天冲刺随笔

    这个作业属于哪个课程 https://edu.cnblogs.com/campus/fzzcxy/2018SE1 这个作业要求在哪里 https://edu.cnblogs.com/campus/fz ...

  6. C#:终于有人把 ValueTask、IValueTaskSource、ManualResetValueTaskSourceCore 说清楚了!

    目录 1,可用版本与参考资料 2,ValueTask 和 Task 3,编译器如何编译 4,ValueTask 有什么优势 5,ValueTask 创建异步任务 6,IValueTaskSource ...

  7. Spring Cloud 学习 (十) Spring Security, OAuth2, JWT

    通过 Spring Security + OAuth2 认证和鉴权,每次请求都需要经过 OAuth Server 验证当前 token 的合法性,并且需要查询该 token 对应的用户权限,在高并发场 ...

  8. PyQt(Python+Qt)学习随笔:窗口layout布局的SizeConstraint和部件的大小约束策略sizePolicy不起作用的问题

    专栏:Python基础教程目录 专栏:使用PyQt开发图形界面Python应用 专栏:PyQt入门学习 老猿Python博文目录 老猿学5G博文目录 在写一个测试代码时,发现无论怎么设置窗口以及子部件 ...

  9. PyQt开发样例: 利用QToolBox开发的桌面工具箱Demo

    老猿Python博文目录 专栏:使用PyQt开发图形界面Python应用 老猿Python博客地址 一.引言 toolBox工具箱是一个容器部件,对应类为QToolBox,在其内有一列从上到下顺序排列 ...

  10. 第10.9节 Python子包的导入方式介绍

    在<第10.8节 Python包的导入方式详解>详细介绍了包的导入方式,子包也是包,子包的导入与包的导入方法上没有本质区别,但二者还是有所不同.本节对照二者的方式介绍子包与包导入的关系: ...