OpenStack 实例忘记密码的修改密码方法

  • A+
所属分类:OpenStack  虚拟化/私有云

openstack镜像繁多,有些不是我们自己上传的,比如说其他人上传的但是我使用它创建了一个实例,但不知道密码怎么办呢?进入系统启动过程破解?有时候实例创建太快来不及。今天我们介绍一个新的办法,确切的说是一个小工具:libguestfs-tools。

1、安装libguestfs-tools工具

yum -y install libguestfs-tools
或
atp-get install libguestfs-tools

2、在宿主机上通过virsh list –all,与开关实例确定实例编号

root@ubuntu2:~# virsh list --all
 Id    Name                           State
----------------------------------------------------
 1     instance-00001035              running
 6     instance-00000f6e              running
 321   instance-00001263              running
 3584  instance-0000125f              running
 3592  instance-00001270              running
 3631  instance-00001276              running
 3637  instance-0000125d              running
 3638  instance-0000125b              running
 3649  instance-00001324              running
 -     instance-00000058              shut off
 -     instance-00000059              shut off
 -     instance-0000005c              shut off
 -     instance-000009c0              shut off
 -     instance-00001147              shut off

3、对实例关机(必须关机,否则无法修改密码)
4、生成新密码

[root@DT_Node-172_30_7_10 ~]# Password=$(date +"%s%N"| sha256sum | base64 | head -c 24) && echo $Password && python -c "import crypt, getpass;print crypt.crypt('${Password}')"
YTQ3NDJiNGIyMTNiNGZkMzQz
$6$gQofLSjKz07ypriI$1lbeURa8o6MLlqovDteO5zDAF8pZ8aRqi7jXe8HmlxCGUqNQ.FCV0d2JkUzgCW2wvuZSunNk6VncZtcT8rTKY0
[root@DT_Node-172_30_7_10 ~]# 

linux系统的加密密码通常存储在/etc/shadow 文件中,共分9列,用“:”分隔,其中第一列是用户名,第二列是密码。密码通常用MD5加密,这里我们用python生成系统的密文密码

root:$6$H.RTQF71$7u2Y9YBJPB5.76jbhlTUVdoI/aea2x6mR2yvZx0VukGzaCAWhb.kO9doDaoB9l3IweoL.GvzzksJfQzw.Ntse1:17494:0:99999:7:::
bin:*:17110:0:99999:7:::
daemon:*:17110:0:99999:7:::
adm:*:17110:0:99999:7:::
lp:*:17110:0:99999:7:::
sync:*:17110:0:99999:7:::
shutdown:*:17110:0:99999:7:::
halt:*:17110:0:99999:7:::
mail:*:17110:0:99999:7:::
operator:*:17110:0:99999:7:::
games:*:17110:0:99999:7:::
ftp:*:17110:0:99999:7:::
nobody:*:17110:0:99999:7:::
systemd-network:!!:17494::::::
dbus:!!:17494::::::
polkitd:!!:17494::::::
postfix:!!:17494::::::
chrony:!!:17494::::::
sshd:!!:17494::::::

5、修改root账户密码
复制上面得到的密码,执行下面命令(instance-id不是openstack里面的id,而是virsh list 命令查看得到的instance-**那个)

virt-edit -d ***instance-id*** /etc/shadow

待打开后修改替换root账户第二栏密码
root:$6$H.RTQF71$7u2Y9YBJPB5.76jbhlTUVdoI/aea2x6mR2yvZx0VukGzaCAWhb.kO9doDaoB9l3IweoL.GvzzksJfQzw.Ntse1:17494:0:99999:7:::
修改为

root:$6$26nxrYmA.G7FLfZ3$12s70oHUv.yTtZtmlDgf0XsUkhv0h6BD2yk4gtvBvNO/42EWua4zkrMJt/uQf45BrSDey7lJEZLKvAx8LGD7r0:17494:0:99999:7:::

保存退出,然后重启实例,就可以用新密码“lookback”登录了。

lookback

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: