转载自:
陈沙克日志
原文链接:http://www.chenshake.com/openstack-official-mirrors-and-password/
现在各大linux厂商,其实已经有专门给openStack提供的镜像,不过国内的朋友,不太习惯老外做镜像的方式,经常问密码是多少。
现在安全事故很多,所以还是建议大家去官方下载镜像,有使用的问题,也比较好交流。自己手工做镜像,其实需要做不少工作,才能在OpenStack平台里用的很舒服。
Contents [hide]
1 支持修改密码
2 Cirros
3 Ubuntu 14.04
4 CentOS
支持修改密码
默认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登录,没有任何的遗憾。
Ubuntu 14.04
Ubuntu的OpenStack镜像其实做的非常不错,使用也非常广泛。
官方下载地址:http://cloud-p_w_picpaths.ubuntu.com/trusty/ 我是下载qcow2格式。
国外的镜像制作,基本都是只能使用秘钥登录。该镜像的用户名是:ubuntu
你可以通过在创建虚拟机的时候设置密码,这个是root的密码,这样你可以在控制台,用root的身份和你设置的密码登录。
Ubuntu14.04的镜像,默认不允许root的身份登录,包括密码和秘钥。甚至把注入root的公钥都修改了
# cat /root/.ssh/authorized_keys no-port-forwarding,no-agent-forwarding,no-X11-forwarding, command="echo 'Please login as the user \"ubuntu\" rather than the user \"root\".'; echo;sleep 10" ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQ HzMxg3uNMGVk+wXCBU/Ffm1vE1A5uQ== root@node12
如果我们希望用root的身份,ssh登录,那么和上面镜像差不多。
脚本
#!/bin/sh sed -i 's/PermitRootLogin without-password/PermitRootLogin yes/g' /etc/ssh/sshd_config sed -i 's/PasswordAuthentication no/PasswordAuthentication yes/g' /etc/ssh/sshd_config cp -f /home/ubuntu/.ssh/authorized_keys /root/.ssh/ service ssh restart
如果你希望给ubuntu的用户设置一个密码,还是上面地方进行设置
#!/bin/sh passwd ubuntu<用户ubuntu,就可以在控制台使用密码:pass 登录
CentOS
目前CentOS官方提供CentOS 6 和CentOS 7的镜像,大家可以从官方下载http://cloud.centos.org/centos/7/p_w_picpaths/
没有压缩的是900多M,压缩过的是400多M。默认的用户名是:centos
目前各大发行版对镜像的定制,安全性基本都是一致的。CentOS,同样也是不允许root登录,使用密钥也是不行的。
如果是希望root使用密钥登录,做法和Cirros镜像基本是一样的
#!/bin/sh mv /root/.ssh/authorized_keys /root/.ssh/authorized_keys.old cp /home/centos/.ssh/authorized_keys /root/.ssh/镜像的ssh设置,是允许root的登录的,所以就不需要修改ssh。如果你希望root可以使用密码登录。那么你需要用脚本修改ssh设置
#!/bin/sh sed -i 's/PasswordAuthentication no/PasswordAuthentication yes/g' /etc/ssh/sshd_config systemctl restart sshd顺便也测试了一下CentOS6的镜像,好像有点问题,无法设置密码。别的都没啥问题。
参考文档
http://docs.openstack.org/p_w_picpath-guide/content/ch_obtaining_p_w_picpaths.html
http://www.chenshake.com/openstack-mirror-and-password/
https://cloudinit.readthedocs.org/en/latest/topics/examples.html
7 Responses to “OpenStack官方镜像和密码”
microul says:2015/11/22 at 3:22 AMopenmediavaultImage Active Yes No QCOW2 1.1 GBrhel56_x86_64.qcow2Image Active Yes No QCOW2 282.2 MBrhel-guest-p_w_picpath-7.0Image Active Yes No QCOW2 396.1 MBdebian-8.1.0Image Active Yes No QCOW2 458.7 MBFedora-Cloud-Base-22Image Active Yes No QCOW2 218.0 MBCentOS-6-x86_64Image Active Yes No QCOW2 1.1 GBCentOS-7-x86_64Image Active Yes No QCOW2 955.9 MBUbuntu 15.04Image Active Yes No QCOW2 273.4 MBwinxpImage Active Yes No QCOW2 1.6 GBvm1-snapshotSnapshot Active No No QCOW2 21.1 MBcirros p_w_picpathImage Active Yes No QCOW2 12.7 MBReplymicroul says:2015/12/26 at 4:04 PM新增加android x86 p_w_picpath。。。androidx86Image Active Yes No QCOW2 5.3 GBReplymicroul says:2016/01/02 at 5:19 PMwindows2012 Image Active Yes No QCOW2 16.0 GBReplymicroul says:2016/01/29 at 10:01 PM请问这个cloud-init.log的错误怎么纠正?之前删除instance的时候出错,然后就出来这个了。。。。tail -f cloud-init.logJan 28 10:21:56 packstack cloud-init: 2016-01-28 10:21:56,632 – url_helper.py[WARNING]: Calling ‘http://192.168.2.1//latest/meta-data/instance-id’ failed [93/120s]: bad status code [400]Jan 28 10:22:02 packstack cloud-init: 2016-01-28 10:22:02,644 – url_helper.py[WARNING]: Calling ‘http://192.168.2.1//latest/meta-data/instance-id’ failed [99/120s]: bad status code [400]Jan 28 10:22:08 packstack cloud-init: 2016-01-28 10:22:08,654 – url_helper.py[WARNING]: Calling ‘http://192.168.2.1//latest/meta-data/instance-id’ failed [105/120s]: bad status code [400]Jan 28 10:22:15 packstack cloud-init: 2016-01-28 10:22:15,666 – url_helper.py[WARNING]: Calling ‘http://192.168.2.1//latest/meta-data/instance-id’ failed [112/120s]: bad status code [400]Jan 28 10:22:22 packstack cloud-init: 2016-01-28 10:22:22,676 – url_helper.py[WARNING]: Calling ‘http://192.168.2.1//latest/meta-data/instance-id’ failed [119/120s]: unexpected error [‘NoneType’ object has no attribute ‘status_code’]Jan 28 10:22:29 packstack cloud-init: 2016-01-28 10:22:29,684 – DataSourceCloudStack.py[CRITICAL]: Giving up on waiting for the metadata from [‘http://192.168.2.1//latest/meta-data/instance-id’] after 126 secondsJan 28 10:22:30 packstack cloud-init: Cloud-init v. 0.7.5 running ‘modules:config’ at Thu, 28 Jan 2016 15:22:30 +0000. Up 302.01 seconds.Jan 28 10:22:31 packstack cloud-init: Cloud-init v. 0.7.5 running ‘modules:final’ at Thu, 28 Jan 2016 15:22:31 +0000. Up 302.73 seconds.Jan 28 10:22:31 packstack cloud-init: Cloud-init v. 0.7.5 finished at Thu, 28 Jan 2016 15:22:31 +0000. Datasource DataSourceNone. Up 302.87 secondsJan 28 10:22:31 packstack cloud-init: 2016-01-28 10:22:31,701 – cc_final_message.py[WARNING]: Used fallback datasourceReplycehui0303 says:2016/07/22 at 4:51 PM官网中我怎么就没找到qcow2格式的镜像呢?另外我下了个ubuntu14.04的官方镜像,结果启动后,一直是booting from hard disk,请问怎么处理?镜像不对吗?Reply
陈沙克 says:
2015/12/03 at 4:17 PM
现在迁移到香港,应该快很多。
Reply
microul says:
2015/11/21 at 11:19 PM
沙老师您好,好开心又能看到你的博客,请问用firefox通过dashboard console 打开vm,一直hold在Sent ProtocolVersion: 003.008,换其他机器却可以登录,为什么呢?
PS:之前firefox是可以打开的。
Reply