支持修改密码
默认OpenStack的Dashboard修改虚拟机的密码的功能是关闭的,你需要enable。我是使用RDO安装。
编辑 /usr/share/openstack-dashboard/openstack_dashboard/local/local_settings.py
# The OPENSTACK_HYPERVISOR_FEATURES settings can be used to enable optional
# services provided by hypervisors.
OPENSTACK_HYPERVISOR_FEATURES = {
'can_set_mount_point': False,
'can_set_password': True,
}
重启httpd服务
systemctl restart httpd.service
这时候你就可以看到设置管理员密码的地方
不过这个时候,你可能还是不能修改密码。你需要修改计算节点的nova.conf文件
[libvirt]
# Inject the admin password at boot time, without an agent.
# (boolean value)
#inject_password=false
inject_password=True
这样重启服务,应该就可以。
openstack-service restart nova
Cirros
这是一个大家在OpenStack测试非常喜欢使用的镜像,小于15M,测试起来非常方便。
官方下载地址 https://download.cirros-cloud.net/
这个镜像的用户名和密码
user:cirros
pass:cubswin:)
你可以在Horizon的vnc登录或者通过SSH登录。
如果你通过Horizon设置密码,其实就是设置Cirros镜像的root的密码,设置完成后,你可以在控制台或者SSH,使用root和你设置的密码登录。
如果你希望使用秘钥,用root身份登录,那么默认是不行的,你会客户端看到提示
Please login as 'cirros' user, not as root
如果你使用cirros用户登录,你会发现其实root的目录下也注入的公钥,只是
$ sudo ls /root/.ssh/
authorized_keys
$ sudo cat /root/.ssh/authorized_keys
# The following ssh key was injected by Nova
command="echo Please login as \'cirros\' user, not as root; echo; sleep 10" ssh-rsa
ofEJnEpgbTIuO1Wc5vTs/cMuPmaJ7x6dAX2vg84LkRyX1dDzvQ8nD/tYpFYnSjzrh72N7tMm76GAaR
HzMxg3uNMGVk+wXCBU/Ffm1vE1A5uQ== root@node12
$
在公钥里加入一行,导致root无法登录。我们可以通过Horizon提供的user data的功能,实现root登录
#!/bin/sh
cp -f /home/cirros/.ssh/authorized_keys /root/.ssh/
其实就是把cirros的公钥,复制到root的目录下。这时候创建出来的虚拟机就可以直接使用root登录,没有任何的遗憾。