Appearance
VMware 克隆后重置脚本
1. Debian
Note:基于 Bookworm 版本。
Bash
#!/bin/bash
# Auto Config Script for VMware Cloned Debian (v1.0 20250324)
set -eo pipefail
# 权限检查
if [ "$(id -u)" -ne 0 ]; then
echo "请使用 sudo 执行此脚本"
exit 1
fi
# 提示用户需手动重新生成 MAC 地址
read -p "已重新生成 MAC 地址?(y/n) " MAC_CHK_FLAG
[ ! "$MAC_CHK_FLAG" = "y" ] && exit 1
# 输入新主机名
read -p "请输入新主机名: " NEW_HOSTNAME
OLD_HOSTNAME=$(hostname)
# 修改主机名
hostnamectl set-hostname "$NEW_HOSTNAME"
sed -i "s/${OLD_HOSTNAME}/${NEW_HOSTNAME}/g" /etc/hosts
# 清理 DHCP 租约
rm -f /var/lib/dhcp/dhclient.*
rm -f /var/lib/dhcp/dhclient6.*
# 重置机器 ID
truncate -s 0 /etc/machine-id
systemd-machine-id-setup
# 重新生成 SSH 密钥
rm -f /etc/ssh/ssh_host_*
ssh-keygen -A -q
systemctl restart sshd
# 获取当前主网卡
NIC=$(ip route | awk '/default/ {print $5}')
# 完成提示
echo -e "\n配置完成!建议立即重启系统"
echo -e "验证命令:"
echo "主机名: hostnamectl"
echo "IP 地址: ip -c a show ${NIC}"
echo "SSH 指纹: ssh-keygen -l -f /etc/ssh/ssh_host_ecdsa_key.pub"
read -p "立即重启系统?(y/n) " REBOOT_FLAG
[ "$REBOOT_FLAG" = "y" ] && reboot