openstack 用cloud-init制作的镜像root无法登陆问题

Centos7镜像时,cloud-init安装版本为 0.7.2 , 安装配置好后,glance上传完成后使用该镜像创建虚机,通过SSH登陆该虚机就出现了问题,提示Permission denied (publickey,gssapi-keyex,gssapi-with-mic) 就是root用户名输入回车后发现只能用public key公钥登陆,而不能用密码认证登陆。

进vnc控制台发现在/etc/ssh/sshd_config发现“PasswordAuthentication no” ,重新打开镜像发现在/etc/ssh/sshd_config发现“PasswordAuthentication yes”  然后后上传到OpenStack中,创建虚机,发现root还是没法用密码认证登陆,再次查看/etc/ssh/sshd_config,竟然发现“PasswordAuthentication no” 

原因是cloud-init搞的鬼,在安装好cloud-init后,会生成/etc/cloud/cloud.cfg配置文件,找到该文件,就在配置文件置顶的前五行内,就赫然显示其配置限制了登陆方式:

users:

 - defaults

disable_root:1

ssh_pwauth:  0

cloud-init默认配置是,ssh_pwauth 为 0 是关闭状态,就是禁止password认证。重新修改镜像,修改为 ssh_pwauth: 1 ,重新打镜像

ssh远程登陆,root可以用密码正常登陆。  找到sshd_config配置文件,发现里面多了“PasswordAuthentication yes”,看来的确是cloud-init引起的

你可能感兴趣的:(openstack)