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}}'

     到虚拟机上查看

  • 相关阅读:
    课程作业(一)
    PTA 5-3 解题报告
    作业(四)
    C#循环语句整理
    C#数组和集合整理
    作业(三)
    1.0总结
    如何在C++中产生随机数
    CLSRSC-400: A system reboot is required to continue installing.
    Upgrade a Non-CDB To a PDB on CDB
  • 原文地址:https://www.cnblogs.com/czp2016/p/15661996.html
Copyright © 2011-2022 走看看