如何修改openstack虚拟机密码

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 [email protected] w

13:28:54 up 14 min,  1 user,  load average: 0.04, 0.08, 0.13

USER     TTY      FROM             [email protected]   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

原文地址:https://www.cnblogs.com/dexter-wang/p/12337055.html

时间: 2024-10-09 18:32:43

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

在虚拟机下安装ubuntu 10.04 64bit,并修改root用户密码

实验的环境: 笔记本是:HP 虚拟机:VMware  9 准备安装的操作系统: ubuntu 10.04  64bit 实验步骤: 一:让自己的hp支持虚拟化技术(由于ubuntu 10.04  64bit需要CPU支持虚拟化技术,所以要通过bios来更改电脑的默认设置) 启动时根据提示按 Esc 键 按 F10 键以配置 BIOS 使用箭头键滚动到"System Configuration" 选择"Virtualization Technology",然后按 En

修改roo的密码 虚拟机vmware8.04 Centos 6.3

由于本人的记性并不是很好,所以密码这样复杂的东西很容易被我忘记.通过'某'度搜索了相关的解决方案,并记录下来以备后用. 环境:虚拟机vmware8.04 Centos 6.3 一 故意忘记密码 二 点击电源按键,在下拉列表点击Restart Guest 三 在数秒的时候按下任意键 四 出现下面情景,按下e键 五 出现下面情景,按下'下箭头'选中kernel所在行,并按下e键 六 按下空格,然后输入 1 或者 single,回车确认 或者 七 进入单用户模式 八 接下来就是用passwd命令修改r

openstack虚拟机修改IP地址

1).查找虚拟机的网络端口 mysql> use neutron; mysql> select * from ports where device_id="3ab73261-82ce-4b9a-9a1c-519624e19dc2"; +----------------------------------+--------------------------------------+------+--------------------------------------+-

Openstack 虚拟机修改error状态为active

OpenStack虚拟机由于一些特殊原因导致进入error状态,比如宿主机宕机,docker容器故障等等, 此时我们无法在界面上对虚拟机进行其他操作了,只能删除重建,但是如果是已经在用的虚拟机,那就要想办法恢复,有一些人是直接通过后台数据库直接修改数据,这种方式总觉得不安全,有一个方法更安全,就是直接通过nova命令的 reset-state子命令,这里要特别注意,子命令后面还可以加状态参数,比如 --active ,原来一直不知道,以为这个命令没有办法修改状态,后面发现可以加参数,这个问题就好

debian官网qcow2镜像修改root账号密码,开启ssh,修改源,语法高亮等

一.准备工作 1.下载官网qcow2镜像文件 wget https://cloud.debian.org/images/cloud/OpenStack/10.2.0/debian-10.2.0-openstack-amd64.qcow2 镜像文件信息 [debian-10.2-cloud] name=Debian 10.2.0 (Buster) Cloud osinfo=debian10 arch=x86_64 file=debian-10.2.0-openstack-amd64.qcow2 c

RHEL7修改root用户密码

linux中忘记管理员密码是很麻烦的事情,RHEL5和RHEL6中修改root用户密码我们都已经很熟悉了,下面说一下RHEL7中修改root密码; 重新启动RHEL7,到启动菜单按e键: 找到linux16开始的行,按end键把光标移动到该行的末尾 在该行的末尾添加rd.break,然后按ctrl+x组合键启动系统: 进入命令提示符后连续输入命令,如图: 关闭selinux,修改/etc/selinux/config配置文件,把SELINUX=enforcing修改为SELINUX=disabl

CentOS 下如何修改 MySQL 的密码

做服务器运维,修改 MySQL 的密码是经常的需要,定期修改 MySQL 密码是网站安全的一个保证.这里记录一下修改 MySQL 密码的一些命令,方便以后查看. 修改root密码 CentOS 下 MySQL 管理员帐号默认是 root 用户,密码为空.如果你从没设置过 MySQL 的密码,使用 root 用户来连接 MySQL 服务器不需要输入密码. 第一次设置root密码可以使用以下命令: 1 mysqladmin -u root password NEWPASSWORD 如果你已经设置过密

linux 非交互式修改用户的密码

服务器的一些相关用户的密码过期了,我们需要修改,可是有很多机器,用常规的passwd命令,修改起来会非常的麻烦.有没有什么办法来解决一下呢,我们可以使用非交互的方式来修改用户的密码. 1 chpasswd 命令 [[email protected] ~]# echo "root:123456"|chpasswd echo "要设置密码的用户名:新密码" |chpasswd 这种修改密码的方法,执行成功后,没有任何的提示信息 2 passwd 命令也可以实现非交互工修

组策略技巧之批量修改本地管理员密码

         基于一些特殊的原因我们需要修改本地管理员的密码,正常情况下,我们需要手动修改 但是在域环境中,我们可以通过组策略来统一修改本地管理员密码.修改方法个人找到的可以 分为两种,一种是通过脚本来统一更改(缺点很明显是比较死板,缺乏灵活性)一种是通过组策略 新增加的首选项功能来统一修改(有点很明显就是灵活性很强,定制型好).         一.使用脚本来修改密码 脚本是用的是VBS脚本 strComputer = "."   Set objUser = GetObject(