openstack镜像配置root密码远程ssh登录

前言

从openstack官方下载的云镜像一般都是普通用户密钥登陆,比如centos镜像的普通用户为centos,ubuntu镜像的普通用户为ubuntu,虽然密钥登陆系统相比密码登陆来说比较方便安全,但是如果需要vnc登陆系统的话,必须得是密码才可以。那么如何实现openstack云镜像密码登陆呢,guestfish工具是一个不错的选择。(本次操作是在centos系统上利用guestfish工具修改openstack官方centos镜像的密码,包括root用户以及普通用户centos)

安装libguestfs-tools工具

安装guestfish工具,参考:http://libguestfs.org/

由于使用kolla部署的openstack集群,集群节点环境不满足运行guestfish,这里在一个全新节点上安装guestfish工具。

#启用kvm并安装libvirt
yum install -y qemu-kvm libvirt virt-install bridge-utils

#安装guestfish
yum install -y libguestfs-tools

修改qemu权限,去掉user和group注释:

[root@localhost ~]# vim /etc/libvirt/qemu.conf
#
user = "root"

# The group for QEMU processes run by the system instance. It can be
# specified in a similar way to user.
group = "root"

#启动libvirtd服务
systemctl enable --now libvirtd
systemctl restart libvirtd

下载镜像,建议提前下载好在上传。

wget http://cloud.centos.org/centos/7/images/CentOS-7-x86_64-GenericCloud-2003.qcow2c

guestfish命令修改root密码

进入guestfish命令环境定制镜像

[root@localhost ~]# guestfish --rw -a CentOS-7-x86_64-GenericCloud-2003.qcow2c 

Welcome to guestfish, the guest filesystem shell for
editing virtual machine filesystems and disk images.

Type: ‘help’ for help on commands
      ‘man’ to read the manual
      ‘quit’ to quit the shell

执行run并挂载文件系统

><fs> RUN
 100% ⟦▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒⟧ --:--
><fs> 
><fs> list-filesystems
/dev/sda1: xfs

><fs> mount /dev/sda1 /

修改/etc/cloud/cloud.cfg

><fs> vi /etc/cloud/cloud.cfg
disable_root:0   //允许root登陆
ssh_pwauth: 1    //ssh开启密码登陆

lockpasswd: false
plain_text_passwd: "123456"  //添加一行,配置用户centos密码

另开一个窗口创建root密码

# openssl passwd -1 123456
$1$yf5HxL17$WIjQ1THmj3TuCEWc6K7yd0

修改 /etc/shadow,复制root加密后的密码

><fs> vi /etc/shadow
root:$1$yf5HxL17$WIjQ1THmj3TuCEWc6K7yd0:18374:0:99999:7:::

修改完毕,退出即可

><fs> quit

上传镜像

openstack image create "CentOS78-root" \
  --file CentOS-7-x86_64-GenericCloud-2003.qcow2c \
  --disk-format qcow2 --container-format bare \
  --public  

完成后基于该镜像创建实例,控制台可以直接以root或者centos用户通过密码登录到实例,分配浮动IP后也可以以root身份远程SSH登录到实例。

参考:
https://www.jianshu.com/p/52276031e8a4
https://www.cnblogs.com/Pan-xi-yi/p/12120876.html
https://www.jianshu.com/p/f08fc6bac303


版权声明:本文为networken原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。