Skip to main content

将 VPS 重装为 Kali Linux

⚠警告:以下操作具有危险性,会扬掉 VPS 上的所有数据,所以在进行操作之前,请提前备份 VPS 上的重要数据。不要说我们没有警告过你…

如果以下任何一步出现错误或遗漏,请使用 VPS 面板的「重装系统」功能重装 VPS 的操作系统后,从头重新开始操作。

笔者使用的 VPS 为腾讯云轻量应用服务器,原操作系统为 Debian 12.0。

理论上本教程适用于一切运行 Debian 和 Ubuntu、使用 BIOS 引导方式的 VPS。

准备工作

制作 Kali Linux 的 rootfs

首先,以 root 用户登录 VPS,在 VPS 的根目录新建一个文件夹。然后,安装 debootstrap 并使用以下命令在 rootfs 文件夹制作 Kali Linux 的 rootfs:

# apt install debootstrap -y
# mkdir -p /vps2kali/rootfs
# cd /vps2kali
# debootstrap --arch=amd64 kali-rolling ./rootfs https://mirrors.bfsu.edu.cn/kali/

这里假设新建的文件夹名为 vps2kali,以下操作除特殊说明外均在该文件夹下进行。

以上命令使用了 北京外国语大学开源镜像站,因为其对中国大陆网络环境较为友好。对于 VPS 位于其他地区的读者,可以将最后一个参数修改为 https://http.kali.org/ 以使用官方镜像。

下载 BusyBox

BusyBox 是一个精简的 Unix 工具集。为了在原先的系统被删除的情况下依然有可用的基础命令,下载一份静态编译的 BusyBox 备用:

# wget https://www.busybox.net/downloads/binaries/1.35.0-x86_64-linux-musl/busybox
# chmod +x busybox

破坏一个旧世界

使用以下命令删除根目录下除 /dev/vps2kali 以外的所有文件:

# rm -rf $(ls /* -d | grep -E -v 'vps2kali|dev')

这行命令会输出较多错误信息,因为有些文件不允许被删除。这些错误信息可以忽略。

建设一个新世界

这个时候原系统的所有数据包括基础命令都已经被删除了,这就是为什么需要 BusyBox 来将 rootfs 复制到根目录:

# ./busybox cp -r ./rootfs/* /

现在替换的系统并不能直接使用,需要进行一些配置。

安装过 Arch Linux 的读者应该对有些操作比较熟悉。

设置 locale

# apt install locales -y
# echo 'en_US.UTF-8 UTF-8' >> /etc/locale.gen
# locale-gen
# echo 'LANG=en_US.UTF-8' >> /etc/locale.conf

生成 fstab 文件

# apt install arch-install-scripts -y
# genfstab -U / >> /etc/fstab

设置时区

# ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime

设置 root 密码

# passwd root

安装内核

# apt install linux-image-amd64 -y

安装 GRUB

在安装之前先使用 df 命令确认硬盘的设备名称,如 /dev/vda(注意不是 /dev/vda1)。

# apt install grub2 -y
# grub-install --target=i386-pc /dev/vda
# grub-mkconfig -o /boot/grub/grub.cfg

配置 OpenSSH 服务器

# apt install openssh-server -y
# systemctl enable ssh

然后修改 /etc/ssh/sshd_config,将 #PermitRootLogin prohibit-password 一行取消注释,并将 prohibit-password 改为 yes 以允许 root 用户以密码登录。

当然也可以在这一步添加 SSH 公钥或创建新用户。如果选择创建新用户,请注意现在还没有安装 sudo。

配置 DHCP

# apt install dhcpcd
# systemctl enable dhcpcd

重启!

# reboot -f

这里使用 -f 选项强制重启。重启之后可能需要重新验证 SSH 指纹,并使用之前新设置的 root 密码登录。

安装完整的 Kali Linux

debootstrap 生成的 rootfs 仅包含 main 软件仓库,为了安装完整的 Kali Linux,需要按照镜像站的帮助文档修改 /etc/apt/sources.list

deb https://mirrors.bfsu.edu.cn/kali kali-rolling main non-free contrib non-free-firmware
# deb-src https://mirrors.bfsu.edu.cn/kali kali-rolling main non-free contrib non-free-firmware

依然以北京外国语大学开源镜像站为例。

然后安装 Kali Linux 核心元包并重启:

# apt update && apt install kali-linux-core -y && reboot

如果想安装更多软件,可以安装 kali-linux-headless 甚至 kali-linux-default