Openstack Queen版本之guestfish修改centos7云镜像解决ssh无法连接VM实例

原因

用VirtualBox 以及Queen版本搭建 openstack, 创建了实例,用ssh怎么搞都不能够免密登陆进入创建的虚拟机,虽然可以ping通,所以打算尝试一下直接修改镜像ssh密码。

1.安装guestfish

apt-get install libguestfs-tools -y

2.打开镜像(前面一篇博客有提到下载和转换)

guestfish --rw -a CentOS-7-x86_64-GenericCloud-1907.qcow2

3.执行修改

><fs> run
><fs> list-filesystems
><fs> mount /dev/sda1 /
><fs> vi /etc/cloud/cloud.cfg
><fs> vi /etc/ssh/sshd_config
><fs> vi /etc/shadow
><fs> quit 

修改1

/etc/cloud/cloud.cfg我修改了如下:

// 4,5行
disable_root:0   //允许root登陆
ssh_pwauth: 1    //ssh开启密码登陆
// 57行
lockpasswd: false
plain_text_passwd: "123456"  //添加

下图是原来的情况:

修改2

/etc/ssh/sshd_config 修改了如下,即允许管理员登陆

修改3 /etc/shadow

需要先打开新的shell,然后输入

[[email protected] ~]#  openssl passwd -1 123456
$1$.dtYmdL8$9yGo/gKaGWmJHwoIgJDVM/
[[email protected] ~]# 

将root默认的随机密码替换成生成的加密密码,如下图所示

问题1

><fs> run
libvirt: XML-RPC 错误 : 将插槽连接到 '/var/run/libvirt/libvirt-sock' 失败: 没有那个文件或目录
libguestfs: error: could not connect to libvirt (URI = qemu:///system): 将插槽连接到 '/var/run/libvirt/libvirt-sock' 失败: 没有那个文件或目录 [code=38 int1=2]

解决:因为libvirtd 没有启动,启动即可。

service libvirtd start

问题2

><fs> run
? 25% ????????????????????═════════════════════════════════════════════════════════? --:--
libguestfs: error: could not create appliance through libvirt.

Try running qemu directly without libvirt using this environment variable:
export LIBGUESTFS_BACKEND=direct

Original error from libvirt: Cannot access storage file '/root/CentOS-7-x86_64-GenericCloud-1907.qcow2' (as uid:107, gid:107): 权限不够 [code=38 int1=13]
><fs> quit

解决:修改/etc/libvirt/qemu.conf,把user 和group的注释#去掉,

vim /etc/libvirt/qemu.conf

#       user = "100"    # A user named "100" or a user with uid=100
#
user = "root"

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

重启服务

systemctl restart libvirtd

修改

[[email protected] ~]#  openssl passwd -1 123456
$1$.dtYmdL8$9yGo/gKaGWmJHwoIgJDVM/

结果

用我们修改过的镜像,重新上传镜像,最终可以登陆到我们云平台建立的虚拟机,不过建立连接的过程会很缓慢,大概1-3分钟,等到你觉得不可能连上。。。

xshell centos登陆

putty centos登陆

root 登陆

感谢以下博客的博主,非常好的学习参考。
利用guestfish工具修改openstack云镜像的root密码,默认用户centos的密码
上传镜像
修改openstack镜像--支持root密码登陆
Ubuntu16手动安装OpenStack——修改镜像

原文地址:https://www.cnblogs.com/Pan-xi-yi/p/12120876.html

时间: 2024-08-06 10:05:17

Openstack Queen版本之guestfish修改centos7云镜像解决ssh无法连接VM实例的相关文章

openstack queens 版本 linux bridge起不来的解决办法

报错如下:Apr 3 03:52:48 neutron neutron-linuxbridge-agent: elif tornado and tornado.gen.is_coroutine_function(f):Apr 3 03:52:48 neutron neutron-linuxbridge-agent: AttributeError: 'module' object has no attribute 'is_coroutine_function'Apr 3 03:52:48 neut

centos7 openstack kilo版本一键安装

最近在学习openstack的使用,由于是出于学习的目的使用的是all-in-one方式,在此记录在centos7系统是使用all-in-one方式安装openstack kilo版本的步骤. centos7系统使用新的接口命名方式,在安装openstack前需要修改接口名称 修改接口名称: (To restore the old naming convention, you need to edit the /etc/default/grub file and add net.ifnames=

CENTOS7 安装openstack mitaka版本(最新整理完整版附详细截图和操作步骤,添加了cinder和vxlan)

CENTOS7 安装openstack mitaka版本(最新整理完整版附详细截图和操作步骤,添加了cinder和vxlan,附上个节点的配置文件) 实验环境准备: 为了更好的实现分布式mitaka版本的效果.我才有的是VMware的workstations来安装三台虚拟机,分别来模拟openstack的controller节点 compute节点和cinder节点.(我的宿主机配置为 500g 硬盘 16g内存,i5cpu.强烈建议由条件的朋友将内存配置大一点,因为我之前分配的2g太卡.) 注

Centos7手动安装OpenStack Mitaka版本--基本环境安装

Centos7手动安装OpenStack Mitaka版本--第一节:基本环境配置 一台控制节点 controller_ip=10.1.1.160 controller_ip2=192.168.13.147 一台计算节点 compute_ip=10.1.1.162 compute_ip2=192.168.13.144 hosts文件配置 [[email protected] ~]# cat /etc/hosts 127.0.0.1   localhost localhost.localdomai

OpenStack Kilo版本新功能分析

OpenStack Kilo版本已经于2015年4月30日正式Release,这是OpenStack第11个版本,距离OpenStack项目推出已经整整过去了5年多的时间.在这个阶段OpenStack得到不断的增强,同时OpenStack社区也成为即Linux之后的第二大开源社区,参与的人数.厂商众多,也成就了OpenStack今天盛世的局面.虽然OpenStack在今年经历了一些初创型企业的倒闭,但是随着国内的传统行业用户对OpenStack越来越重视,我们坚信OpenStack明天会更好.

openstack 之fuel 9 安装 Openstack Mitaka 版本

2015年上半年曾经在原单位安装过openstack juno版本,使用的是Mirantis公司的fuel自动化部署工具,很好用.已经很久没有关注openstack了,版本到现在为止已经到了Newton了,上一个版本是Mitaka,今天我要做的实验就是使用fuel 9 安装Mitaka版本. 我的笔记本的配置是intel i5,4核,8G,win10 64位家庭版. 首先到Mirantis官网下载fuel的安装镜像ISO: https://www.mirantis.com/software/mi

OpenStack Grizzly版本(Ubuntu 12.04)配置

1.     我们在一天VMware虚拟机上(双网卡)使用Ubuntu 12.04.1 和 OpenVSwitch 1.4.6 来搭建OpenStack的Grizzly版本的平台. 由于OpenVSwitch的版本对Ubuntu系统的内核版本有依赖,建议在安装前请确认二者之间是否兼容.无论是在物理机器中还是VMware 中配置,都需要开启CPU 的虚拟化(Intel VT-x/EPT 或AMD-V/RVI(V).OpenStack-Grizzly-Install-Gui...11.0 KB 2.

devstack安装openstack newton版本

准备使用devstack安装openstack N版,搞一套开发环境出来.一连整了4天,遇到各种问题,各种错误,一直到第4天下午4点多才算完成. 在这个过程中感觉到使用devstack搭建openstack环境还是有难度的,不光对新手来说,对于我手动源码装过很多次的人来说也蛮有难度.或者说是我自己学习能力不够. 个人感觉使用devstack,要想成功率高的话一定要选对linux版本.前三天使用ubuntu1604-desktop各种失败和报错,最后参考一篇博文才成功. 准备: VMware ub

saltstack 自动化部署openstack queens 版本

前面写了使用手动部署openstack的queens版本,但是太过繁琐,还容易出错,现在有时间写了一个使用saltstack部署openstack queens版本.环境:saltmaster 192.168.147.166 saltstack version 2017.7 redhat6.4controller 192.168.147.180 saltstack version 2017.7 centos7.2neutron 192.168.147.182 saltstack version