1.環境準備
- 安裝virsh libvirt-bin
apt-get install libvirt-bin qemu-kvm qemu-utils -y
- 下載下傳kali-linux鏡像
下載下傳位址為:https://cdimage.kali.org/
這裡下載下傳了最新的2021釋出的版本,下載下傳位址為
https://cdimage.kali.org/kali-2021.1/kali-linux-2021.1-installer-amd64.iso
下載下傳後的鏡像存放到 /var/lib/libvirt/ 目錄下
2.建立img磁盤
qemu-img create -f qcow2 /var/lib/libvirt/kali-2021.qcow2 15G
由于kali預裝了大量軟體,網上說經過測試測試 10G的基礎磁盤大小是較為合适的,這裡給了15G的大小。
3.開始制作
virt-install --virt-type kvm --name kali2021 --ram 1024 \
--cdrom=/var/lib/libvirt/kali-linux-2021.1-installer-amd64 \
--disk /var/lib/libvirt/kali-2021.qcow2 \
--network network=default \
--graphics vnc,listen=0.0.0.0 --noautoconsole \
--os-type=linux --os-variant=debianwheezy
4.使用vnc用戶端連接配接vnc
在vnc用戶端輸入主控端的IP連接配接,按照正常的流程安裝此虛拟機,磁盤分區不要使用lvm分區,将所有檔案放入一個分區即可,使用整個磁盤,因為openstack在建立虛拟機時預設是自動分區,剩餘的磁盤空間可以自動的加入此分區,如果選擇了lvm或者分了多個分區可能會導緻自動分區無法正常工作。安裝完成後,鏡像會關機退出。
使用virsh list --all來檢視目前運作的所有機器,并使用virsh start kali2021 來啟動該機器并再次使用vnc連接配接。
5.安裝 cloud-init
cloud-init 腳本将在虛拟機啟動的時候搜尋中繼資料服務擷取公鑰。公鑰将會放在鏡像預設使用者内。
apt-get install cloud-init
6.配置資料源
在建立 Ubuntu 鏡像時,cloud-init 必須明确的配置中繼資料源。OpenStack 中繼資料服務仿效 Amazon EC2 中繼資料服務。運作 dpkg-reconfigure 指令設定鏡像 cloud-init 軟體包使用的中繼資料源。當螢幕出現提示時,選擇 EC2 資料源。
dpkg-reconfigure cloud-init
7.配置賬戶
kali的cloud-init安裝後預設的使用者是debian,編輯/etc/cloud/cloud.cfg檔案可以進行配置,修改default_user配置項:
配置完成後,關閉虛拟機。
8.清理(删除 MAC 位址相關資訊)
作業系統會在/etc/sysconfig/network-scripts/ifcfg-eth0 和 /etc/udev/rules.d/70-persistent-net.rules 這類檔案記錄下網卡MAC位址,但是,虛拟機的網卡MAC位址在每次虛拟機建立的時候都會不同,是以這些資訊必須從配置檔案删除掉。
virt-sysprep 工具可以完成清理虛拟機鏡像内的 MAC 位址相關的資訊。
apt-get install libguestfs-tools
virt-sysprep -d kali2021
9.删除 libvirt 虛拟機域
現在可以上傳虛拟機鏡像到鏡像服務了,不再需要 libvirt 來管理虛拟機鏡像。
virsh undefine kali
10.完成
之前建立的鏡像 kali-2021.qcow2 可以上傳到伺服器了。
11. 使用者名密碼
kali2021@:0~yea9v!t
參考部落格:
https://blog.csdn.net/EvanNian/article/details/79324370