openstack创建镜像初始化root密码

概要:

在新建虚拟机的过程中,可以对root密码进行初始化。这样可以保障虚拟机的安全,同时也可以给用户自定义root密码的机会。


步骤:

修改控制节点的nova配置项:

 

首先修改nova的配置文件。文件位置 /etc/nova/nova.conf

inject_password改为True

 

[libvirt]

 

# There is no agent needed within the image to do this. If *libguestfs* is

# available on the host, it will be used. Otherwise *nbd* is used. Thefile

# system of the image will be mounted and the admin password, which isprovided

# in the REST API call will be injected as password for the root user. Ifno

# root user is available, the instance won't be launched and an error isthrown.

# Be aware that the injection is *not* possible when the instance getslaunched

# from a volume.

#

# Possible values:

#

# * True: Allows the injection.

# * False (default): Disallows the injection. Any via the REST API provided

# admin password will be silently ignored.

#

# Related options:

#

# * ``inject_partition``: That option will decide about the discovery andusage

#   of the file system. It also candisable the injection at all.

#  (boolean value)

inject_password=true

 

重启nova服务:

systemctl restart openstack-nova-*

 

 

 

 

然后在创建虚拟机的过程注入脚本


openstack创建镜像初始化root密码_第1张图片

openstack创建镜像初始化root密码_第2张图片

openstack创建镜像初始化root密码_第3张图片







如下:

#!/bin/sh

passwd root<

huangyi

huangyi

EOF

 

huangyi替换成你的密码

注意下面的配置驱动一定要勾上,不然虚拟机初始化root密码会失败的。

openstack创建镜像初始化root密码_第4张图片



成功失败说明

 

其次,按照上述步骤操作,根据我多次测试的结果,镜像是ubuntu系统的基本上创建成功了,就能成功注入密码。而centos系统则需要过一段时间才能生效(我测试的时间大概是5-15分钟期间)。

 

Ubuntu进入界面如下说明注入失败:

openstack创建镜像初始化root密码_第5张图片


注入成功:


openstack创建镜像初始化root密码_第6张图片




差别在于,成功的话,箭头指的字符串应该是 "你的虚拟机名称 login"。

 

 

centos的虚拟机刚进入界面都是如下所示(注意应该等待一段时间后再进入控制台):


openstack创建镜像初始化root密码_第7张图片


输入root和你设置的密码,如果注入成功会成功跳转到类似如下的界面,说明centos也已经注入成功:

 

openstack创建镜像初始化root密码_第8张图片


如果仍然不行,请先退出控制台,过段时间再进去。



自制镜像满足设置root密码的要求:

自制镜像操作系统的时候必须安装cloud-init软件,方可注入root密码。

 

ubuntu如下:


openstack创建镜像初始化root密码_第9张图片



centos:

改为yum 


---------文章写自:HyHarden---------

--------博客地址:http://blog.csdn.net/qq_25722767-----------






你可能感兴趣的:(openstack)