找回密码
 注册
查看: 845|回复: 1

qemu-guest-agent 重置密码 及 写入文件

[复制链接]

1

主题

0

回帖

12

积分

管理员

积分
12
QQ
发表于 2022-9-1 10:16:02 | 显示全部楼层 |阅读模式
1、首先在制作镜像的时候需要给镜像安装上qemu-guest-agent
7 M  i; r- \9 X  a( }$ F0 e
; F2 O1 `, Y6 l0 R% p9 uyum -y install qemu-guest-agent
' J9 I/ i5 k0 w4 v, G" W  n. b: m* K
systemctl enable qemu-guest-agent, m8 \) Z1 f/ h+ C, u2 R# E% [

9 O! M6 s/ i; Y2 J; S2、然后在创建虚拟机镜像的时候需要指定一个属性hw_qemu_guest_agent=yes,这样创建出来的虚拟机的xml文件就会包含对应的channel5 W1 ]9 x' B) H
2 c3 ?4 F$ S5 q# Z
3、这样我们发出来的虚拟机就可以使用virsh命令重置密码了6 _$ n* N5 ?3 U
$ p& K, ?, d. k  g
在宿主机上执行: W( J2 Z* U- G% n1 T/ A  {( d

& b  U! \5 J- O3 U( u5 O" xvirsh set-user-password --domain instance-00000001 --user root --password 12345
5 x# @* h  T8 x' R# [
# t6 W1 @. M" Y- q! F, L0 ^: r: D$ |- @( K: f% }/ x" h0 {

$ M5 z1 x" p" ?, h6 p$ k
$ E/ \" Y( F/ A4 @: s$ r
* _9 v  u8 j' K/ C4、通过qga往虚拟机内部写入文件
1 N# v  k3 o* e/ c. ?3 _3 x2 \' ]: T4 a
进入虚拟机内部,然后vim /etc/sysconfig/qemu-ga
3 ^. X& U" _$ S' r) `9 H将BLACKLIST_RPC="guest-file-open,guest-file-close,guest-file-read,guest-file-write,guest-file-seek,guest-file-flush"  u4 K+ G( y' Z! E$ p
中的guest-file-open,guest-file-close,guest-file-read,guest-file-write去掉,然后重启qga
! `4 _) E/ \& {; J  T2 Fsystemctl restart qemu-guest-agent,启动失败没关系,在环境上才能启动成功。0 U5 Y0 i$ z7 s3 t: u

0 z% G1 t) R2 m9 L1 n6 r7 M第一步 在宿主机上打开文件9 a9 _3 `7 B- U  V$ t
virsh qemu-agent-command instance-000000a2 '{"execute":"guest-file-open","arguments":{"path":"/home/aa/bb.txt","mode":"w+"}}'0 K; ?# ?% V  H, r5 q7 U

: W, c" Y- e0 }+ H: |, Y- J4 w) g- X! @7 s
第二步 写入(需要base64加密)
2 Y2 a. M3 j' v3 P6 b5 K3 ]# W% u3 Mvirsh qemu-agent-command instance-000000a2 '{"execute":"guest-file-write","arguments":{"handle":1004,"buf-b64":"dGVzdOa1i+ivlTEyMzQ1"}}'0 o  \9 V0 |! C: d% m

$ y3 E) [" l9 C. O* }
7 i1 S' y" e  ?7 y) {7 d8 u第三步 关闭文件/ ^; m6 P# H+ ^% @
virsh qemu-agent-command instance-000000a2 '{"execute":"guest-file-close","arguments":{"handle":1004}}'
7 _# v6 x" h" W1 ^4 j
/ [+ Z9 G! U; M& @0 @1 ]

1

主题

0

回帖

12

积分

管理员

积分
12
QQ
 楼主| 发表于 2022-11-29 16:18:02 | 显示全部楼层
主要是保证系统内服务能正常启动,最好配置qemu-guest-agent服务在cloud.init 服务之后启动。/ `. e6 A; K+ B1 K7 o
vim /usr/lib/systemd/system/qemu-guest-agent.service
# \+ h( v, C/ d& @0 I4 z. o+ KAfter=cloud-init.target cloud-config.target cloud-init.service dev-virtio\x2dports-org.qemu.guest_agent.0.device  w6 f* p* m0 I' b

3 ~1 ~  X+ }4 O1 B: r/ A这样配置后,设备即可完成密码丢失的情况下修改密码。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

返回首页|Archiver|手机版|小黑屋|易陆发现技术论坛 ( 蜀ICP备2026014127号-1 )

GMT+8, 2026-6-12 03:04 , Processed in 0.021201 second(s), 22 queries .

Powered by Discuz! X5.0

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表