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

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

[复制链接]

1

主题

0

回帖

12

积分

管理员

积分
12
QQ
发表于 2022-9-1 10:16:02 | 显示全部楼层 |阅读模式
1、首先在制作镜像的时候需要给镜像安装上qemu-guest-agent
' i2 U. n. _; d  g9 O1 q3 o
& w8 l, I3 p7 b/ cyum -y install qemu-guest-agent" o% F3 i/ U& C) p

0 N. i; m+ J7 O$ z" |: ?) ]( M, Fsystemctl enable qemu-guest-agent. C/ p( D$ G6 b( o4 f8 I) z  y/ [0 M

4 n! u! l; |, A2、然后在创建虚拟机镜像的时候需要指定一个属性hw_qemu_guest_agent=yes,这样创建出来的虚拟机的xml文件就会包含对应的channel8 h. S$ v1 v- Z5 l6 ]; o

* e+ q" g  R# t3、这样我们发出来的虚拟机就可以使用virsh命令重置密码了: G. D8 ~) }5 q
( G) w3 @8 [+ S9 b
在宿主机上执行
( p2 |% p  G+ k* @2 ?3 n# A8 F9 ]& R+ O' P
virsh set-user-password --domain instance-00000001 --user root --password 12345
  A4 K% M4 r5 M' l# u; A( t
5 y* {  F1 C0 k0 [+ r* i# S: X8 c

9 p' m" Z1 T, t" `: b. v8 K- j% ~# w8 Z
+ ]" F. H- q+ Z1 N* T8 m1 Q. t
8 S' `: [" C$ Q: p4、通过qga往虚拟机内部写入文件
: T+ a; u, N) a0 k3 Y" W3 V
  t; ^! b9 R' A. O5 ~6 L! _# {0 ?进入虚拟机内部,然后vim /etc/sysconfig/qemu-ga- u1 \, X2 f4 E% P% {* v' d, I
将BLACKLIST_RPC="guest-file-open,guest-file-close,guest-file-read,guest-file-write,guest-file-seek,guest-file-flush"
# d# }$ l5 f7 y8 p- Z中的guest-file-open,guest-file-close,guest-file-read,guest-file-write去掉,然后重启qga3 u: n4 m5 m# l
systemctl restart qemu-guest-agent,启动失败没关系,在环境上才能启动成功。
- ^4 v/ n% [5 ~1 F  A, v2 i* s! X2 c% ~& s/ m- X# T
第一步 在宿主机上打开文件1 t6 u/ O+ S* J2 W' X' W& b& Y( Z
virsh qemu-agent-command instance-000000a2 '{"execute":"guest-file-open","arguments":{"path":"/home/aa/bb.txt","mode":"w+"}}'% x0 ^; P- K5 o, Y5 o

3 R# d/ E8 J# S. Z2 y1 @
: ^5 ~% P9 U% j, o. s! F第二步 写入(需要base64加密)
8 d0 h( [5 g, u2 ]virsh qemu-agent-command instance-000000a2 '{"execute":"guest-file-write","arguments":{"handle":1004,"buf-b64":"dGVzdOa1i+ivlTEyMzQ1"}}'
( K9 I5 Y3 j& w" Y- r
" b! Q( ^  O9 Z, w9 K6 L% Y/ h0 R+ q, \1 D
第三步 关闭文件+ a3 O4 s5 e( V! g, X5 F* ]
virsh qemu-agent-command instance-000000a2 '{"execute":"guest-file-close","arguments":{"handle":1004}}'
  t7 s5 ?8 R# u
; }, F3 u: c, h( W1 h

1

主题

0

回帖

12

积分

管理员

积分
12
QQ
 楼主| 发表于 2022-11-29 16:18:02 | 显示全部楼层
主要是保证系统内服务能正常启动,最好配置qemu-guest-agent服务在cloud.init 服务之后启动。4 ]9 R4 _$ V5 T1 e
vim /usr/lib/systemd/system/qemu-guest-agent.service
' K# u( f" \1 b$ JAfter=cloud-init.target cloud-config.target cloud-init.service dev-virtio\x2dports-org.qemu.guest_agent.0.device
' G  ]9 m  {# Z( O+ v
- u, _) D# P" \( m! N1 U这样配置后,设备即可完成密码丢失的情况下修改密码。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-6-12 03:01 , Processed in 0.018526 second(s), 23 queries .

Powered by Discuz! X5.0

© 2001-2026 Discuz! Team.

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