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

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

[复制链接]

1

主题

0

回帖

12

积分

管理员

积分
12
QQ
发表于 2022-9-1 10:16:02 | 显示全部楼层 |阅读模式
1、首先在制作镜像的时候需要给镜像安装上qemu-guest-agent$ H/ F; Q( n# ]% ]* c

/ V; L- F* G" A2 L' g$ h$ q% ]yum -y install qemu-guest-agent3 n, N1 N" {/ q" ?8 ]
2 I' _. v  f9 f4 E# v( F- ]
systemctl enable qemu-guest-agent
8 x  M8 z0 r$ q' N1 d8 x
: J( z% h) n; s: q- q2、然后在创建虚拟机镜像的时候需要指定一个属性hw_qemu_guest_agent=yes,这样创建出来的虚拟机的xml文件就会包含对应的channel
% p1 k& e3 A4 }9 |6 o, D
/ r& D. Y# F/ |# o9 c- S3、这样我们发出来的虚拟机就可以使用virsh命令重置密码了
6 y' H* N2 F# N  N- ^8 U: @% ~: z/ T: ^3 {$ E! y) x) d) Z* e
在宿主机上执行4 t% P$ R* _& y: m1 J; G
+ s% D0 W1 e  p* o. y% d3 s
virsh set-user-password --domain instance-00000001 --user root --password 12345' ~4 ?: R8 j+ U1 P8 X
3 G/ p& c( E+ U# x! }( y
. M% }1 u* C" b' z2 s
! D0 L0 M, a. H/ i1 H
! R; D- `# T  E; U
8 |& y' j3 d) m6 t% h: ?6 h
4、通过qga往虚拟机内部写入文件2 \3 R( C( D4 I. s; p7 f; e
9 X6 \8 s, y3 R) _: \) z& ?, |/ \
进入虚拟机内部,然后vim /etc/sysconfig/qemu-ga
6 O( _, \: B/ F9 N% {将BLACKLIST_RPC="guest-file-open,guest-file-close,guest-file-read,guest-file-write,guest-file-seek,guest-file-flush"# ^+ z* U' T. N/ D# k2 n4 b$ b4 ^
中的guest-file-open,guest-file-close,guest-file-read,guest-file-write去掉,然后重启qga
/ b2 b0 T, I% bsystemctl restart qemu-guest-agent,启动失败没关系,在环境上才能启动成功。7 y% L/ X/ L; M3 j4 b/ Z

) A( N; d: y8 z+ a3 t6 ~第一步 在宿主机上打开文件
  N0 E$ ^0 u  \* y5 O, ]9 q3 {virsh qemu-agent-command instance-000000a2 '{"execute":"guest-file-open","arguments":{"path":"/home/aa/bb.txt","mode":"w+"}}'6 A: N( ~+ X2 D5 ~6 i

3 W; L; Y. o5 h8 g0 {/ N, F5 B/ l5 _9 z0 d
第二步 写入(需要base64加密)" g% j/ e4 l8 U$ U# W& F
virsh qemu-agent-command instance-000000a2 '{"execute":"guest-file-write","arguments":{"handle":1004,"buf-b64":"dGVzdOa1i+ivlTEyMzQ1"}}'
: d0 S( O& y2 b6 g7 S; P2 J3 _8 t! ~! S

" P/ D5 b5 ^! O% T5 ]' P( I第三步 关闭文件
5 A# ^2 t: S( k6 k+ u# T9 vvirsh qemu-agent-command instance-000000a2 '{"execute":"guest-file-close","arguments":{"handle":1004}}'
2 Q8 o7 s* ^6 z. f
; [6 X! d( a7 b) E0 d- b

1

主题

0

回帖

12

积分

管理员

积分
12
QQ
 楼主| 发表于 2022-11-29 16:18:02 | 显示全部楼层
主要是保证系统内服务能正常启动,最好配置qemu-guest-agent服务在cloud.init 服务之后启动。
' l8 b3 n  D' a6 D7 i3 I: `/ N0 f. q vim /usr/lib/systemd/system/qemu-guest-agent.service( R% I+ ?6 {. b) @: f+ ~4 [2 |
After=cloud-init.target cloud-config.target cloud-init.service dev-virtio\x2dports-org.qemu.guest_agent.0.device
) e) |. }; G5 m; a3 ~6 f
+ \& e6 B* }$ |0 g8 y& S这样配置后,设备即可完成密码丢失的情况下修改密码。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

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

Powered by Discuz! X5.0

© 2001-2026 Discuz! Team.

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