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

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

[复制链接]

1

主题

0

回帖

12

积分

管理员

积分
12
QQ
发表于 2022-9-1 10:16:02 | 显示全部楼层 |阅读模式
1、首先在制作镜像的时候需要给镜像安装上qemu-guest-agent
! _7 F6 {- X! Y0 `! V/ Z# Q: [2 f0 ?$ [
yum -y install qemu-guest-agent2 U; |* q' w$ z2 a2 {$ m& R

8 V2 Y" F4 D, ?$ asystemctl enable qemu-guest-agent
- Z' I7 H. C$ M# W! e
$ v% p: S9 S( Z7 H! ?0 o2、然后在创建虚拟机镜像的时候需要指定一个属性hw_qemu_guest_agent=yes,这样创建出来的虚拟机的xml文件就会包含对应的channel0 }" _( R2 Q7 b1 L% p2 C

5 x$ x( Y8 p+ N( R3、这样我们发出来的虚拟机就可以使用virsh命令重置密码了& H1 J- g6 s- L/ o
: ~, V) k0 N# x6 h& u- g
在宿主机上执行
" G* `8 @0 [4 Z5 s
& H/ R( H1 D0 ^+ y6 g' ~9 i9 i9 Rvirsh set-user-password --domain instance-00000001 --user root --password 12345: |6 E7 e  A8 a+ }5 I, K( I

' A* I+ V8 n. F
% @" ^- n5 Y" M: x" t" p! T2 L* Y
' z. b3 Q- j0 f0 O1 R) ~9 l% {. I
8 V2 N% U8 r& ?5 B- |3 V
4、通过qga往虚拟机内部写入文件4 f0 l/ w) O0 q
1 I0 h9 b  Q( i
进入虚拟机内部,然后vim /etc/sysconfig/qemu-ga( d4 ]; Z6 ?) c* \- x! R
将BLACKLIST_RPC="guest-file-open,guest-file-close,guest-file-read,guest-file-write,guest-file-seek,guest-file-flush"
/ B* _3 G. C5 {  {) l0 w$ Q/ f中的guest-file-open,guest-file-close,guest-file-read,guest-file-write去掉,然后重启qga
( h8 g# O" t" {0 J" fsystemctl restart qemu-guest-agent,启动失败没关系,在环境上才能启动成功。( M7 L" I* t0 D, x9 s/ {
1 |: }2 K. B9 C$ R" C
第一步 在宿主机上打开文件) D# b+ l1 [6 f( e. [& C
virsh qemu-agent-command instance-000000a2 '{"execute":"guest-file-open","arguments":{"path":"/home/aa/bb.txt","mode":"w+"}}'
7 B3 [- k: I/ l+ V2 }2 K
5 G: \. M! o- ]& `! M& [5 H
" T" a5 E' `$ g第二步 写入(需要base64加密)
. t) w% ?* E/ |4 Fvirsh qemu-agent-command instance-000000a2 '{"execute":"guest-file-write","arguments":{"handle":1004,"buf-b64":"dGVzdOa1i+ivlTEyMzQ1"}}'* m. N; x. o( ^3 k. U
. [0 ]3 K" x% i" b) |  G0 N

: p. Q+ [' }; B1 U第三步 关闭文件$ Z6 \1 L4 f8 y8 M
virsh qemu-agent-command instance-000000a2 '{"execute":"guest-file-close","arguments":{"handle":1004}}'
$ @1 w. }% p1 q- v
6 T, E  f1 R% c) Z3 ~) A( N. s

1

主题

0

回帖

12

积分

管理员

积分
12
QQ
 楼主| 发表于 2022-11-29 16:18:02 | 显示全部楼层
主要是保证系统内服务能正常启动,最好配置qemu-guest-agent服务在cloud.init 服务之后启动。
9 T- j% w$ J1 T7 X2 X3 y. `! c vim /usr/lib/systemd/system/qemu-guest-agent.service0 L8 h; @* w3 F& S4 d
After=cloud-init.target cloud-config.target cloud-init.service dev-virtio\x2dports-org.qemu.guest_agent.0.device
# z0 X0 n4 |4 P/ d# Z- i% V
  m$ K* ~4 A5 w这样配置后,设备即可完成密码丢失的情况下修改密码。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

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

Powered by Discuz! X5.0

© 2001-2026 Discuz! Team.

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