zoukankan      html  css  js  c++  java
  • qemuguestagent 重置密码 及 写入文件

    原理

    qemu-guest-agent是运行在虚拟机内部的一个守护程序(qemu-guest-agent.service),用它来辅助Hypervisor实现对Guest的管理。

    我使用qga主要是用来重置虚拟机密码的

    1、首先在制作镜像的时候需要给镜像安装上qemu-guest-agent

    yum -y install qemu-guest-agent

    systemctl enable qemu-guest-agent

    2、然后在创建虚拟机镜像的时候需要指定一个属性hw_qemu_guest_agent=yes,这样创建出来的虚拟机的xml文件就会包含对应的channel

    3、这样我们发出来的虚拟机就可以使用virsh命令重置密码了

    在宿主机上执行

    virsh set-user-password --domain instance-00000001 --user root --password 12345

    4、通过qga往虚拟机内部写入文件

    进入虚拟机内部,然后vim /etc/sysconfig/qemu-ga
    将BLACKLIST_RPC="guest-file-open,guest-file-close,guest-file-read,guest-file-write,guest-file-seek,guest-file-flush"
    中的guest-file-open,guest-file-close,guest-file-read,guest-file-write去掉,然后重启qga
    systemctl restart qemu-guest-agent,启动失败没关系,在环境上才能启动成功。

    第一步 在宿主机上打开文件
    virsh qemu-agent-command instance-000000a2 '{"execute":"guest-file-open","arguments":{"path":"/home/aa/bb.txt","mode":"w+"}}'


    第二步 写入(需要base64加密)
    virsh qemu-agent-command instance-000000a2 '{"execute":"guest-file-write","arguments":{"handle":1004,"buf-b64":"dGVzdOa1i+ivlTEyMzQ1"}}'


    第三步 关闭文件
    virsh qemu-agent-command instance-000000a2 '{"execute":"guest-file-close","arguments":{"handle":1004}}'

     到虚拟机上查看

  • 相关阅读:
    006开源O/R映射框架内容回顾
    005---query接口初步
    004---持久对象的生命周期介绍
    C++中计算矩阵的行列式
    异面直线判定
    华夏万家不投资最佳激活顺序
    飞行目标定位测量相关文献记录
    程序运行缺少MSVCR110.dll
    C++中的return返回值:return0 or return -1?
    办宽带
  • 原文地址:https://www.cnblogs.com/czp2016/p/15661996.html
Copyright © 2011-2022 走看看