qemu-guest-agent 重置密碼 及 寫入文件


原理

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

 

 

 到虛擬機上查看

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM