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

     到虚拟机上查看

  • 相关阅读:
    java如何编写多线程
    Java调用dll动态库
    HashMap源码解析
    LinkedList源码解析
    ArrayList源码解析
    springboot配置cxf
    java生成二维码
    原生js--跨域消息传递
    原生js--应用程序存储和离线web应用
    原生js--userData
  • 原文地址:https://www.cnblogs.com/czp2016/p/15661996.html
Copyright © 2011-2022 走看看