Proxmox VE (PVE)下载和安装Kali Linux ISO的详细教程

文章目录

目录文章目录安装流程小结


概要

本教程将详细介绍如何在Proxmox Virtual Environment (PVE) 中下载和安装Kali Linux ISO。首先,我们将简要说明Kali Linux的特点及其在网络安全和渗透测试中的应用。接着,您将学习如何从官方网站下载Kali Linux的ISO镜像文件,并确保其完整性。随后,我们将指导您在PVE中创建一个新的虚拟机,并配置相应的硬件设置,以便顺利安装Kali Linux。文章还将提供详细的安装步骤,包括配置网络和用户设置等。此外,我们会分享一些常见问题的解决方案,以及如何优化Kali Linux虚拟机的性能。无论您是新手还是有经验的用户,这篇文章都将帮助您轻松完成Kali Linux的安装与配置。

下载 Kali Linux ISO

  • 官方下载https://www.kali.org/get-kali/
  • 如果下载时间太长,可以关注作者的公众号获取ISO包《全栈鍾猿》回复:kali
  • 推荐版本
    • Kali Linux Installer:传统安装版(适合桌面环境)
    • Kali Linux Live:可试用和安装(适合测试)
    • Kali Linux Purple:防御性安全版本
  • 点击导航栏的 "Get Kali",选择 "Installer Images"
  • 在 "Recommended" 推荐部分,选择适合你服务器架构的镜像(一般选 "Kali Linux 64-bit")
  • 点击 "Download" 下载 ISO 文件(约 4.4GB,等待下载完成)

上传 ISO 到 PVE 服务器

  1. 在 PVE 界面左侧导航栏,选择 "存储"→"mechanical_disk(pve)"→"ISO Images"
  2. 点击右上角 "上传" 按钮,选择下载好的 Kali ISO 文件
  3. 等待上传完成(时间取决于你的网络和文件大小)

🖥️ 步骤 2:创建 Kali 虚拟机

创建过程

    1. 点击右上角"创建VM"
    2. 常规:VM ID: 200 名称: kali-linux ✔ 高级 ✔ 开机自启动 (按需)
    3. 操作系统:使用CD/DVD镜像: 是 选择ISO: kali-linux-xxxx.iso 类型: Linux 版本: 6.x - 2.6 Kernel
    4. 系统:显卡: VMware compatible ✔ QEMU代理 BIOS: SeaBIOS (默认) 或 OVMF (UEFI) 机器: q35 (推荐) 或 i440f 说明:xGraphic card(显卡):「VMware compatible」兼容性很好,能正常显示 Kali 的图形界面,不用换。 Machine(硬件类型):「Default (i440fx)」是通用模板,对 Kali 完全够用。 SCSI Controller:「VirtIO SCSI single」是 PVE 推荐的高性能存储控制器,能让虚拟机磁盘速度更快,正确。 Qemu Agent:已经勾选,能让 PVE 更好地管理虚拟机(比如看 IP、远程关机),正确。 BIOS:「Default (SeaBIOS)」对 Kali 来说足够简单,不用换成复杂的 UEFI。 备注:TPM 是给 Windows 11 这类需要安全验证的系统用的,Kali Linux 完全不需要这个功能,勾选了反而会增加不必要的复杂度,还可能占用额外资源。
    5. 磁盘:总线: VirtIO 存储: mechanical_disk (或其他) 大小: 50GB (建议) ✔ 精简配置 缓存: Write back (性能) 或 None (数据安全)
    6. CPU:核心: 4 类型: host (如果支持) 或 kvm64 ✔ NUMA
    7. 内存:内存: 4096 (4GB) ✔ Ballooning Device
    8. 网络:网桥: vmbr0 模型: VirtIO (半虚拟化) VLAN标签: 按需设置
    9. 确认并创建
      • ✔ 创建后启动

安装流程

🐍 步骤 3:安装 Kali Linux

Kali 2023+ 图形化安装流程

启动虚拟机,进入安装界面

选择: Graphical install (图形安装)

语言和区域设置
语言:选择 "中文 (简体)"
位置:选择 "中国"
键盘:选择 "汉语"

   

网络配置

主机名: kali (或自定义) 域名: 可留空或设置

用户设置

全名: kali (或自定义用户名) 用户名: kali 密码: 设置强密码 (重要!)

分区设置

        分区方法: Guided - use entire disk (使用整个磁盘)

        磁盘选择: 选择你的虚拟磁盘

         分区方案: All files in one partition (推荐简单使用)

高级选项

  1. 如果需要加密磁盘:选择"Guided - use entire disk and set up encrypted LVM"
  2. 如果熟悉分区:选择"Manual"手动分区

等待安装基本系统

包管理器配置

软件包选择

软件选择: 按需选择

- Kali Linux Default (默认桌面和工具)

- Kali Linux Core (最小化安装)

- 特定工具集 (如Web、无线等)

推荐选择

✔ Kali Linux Default

✔ kali-tools-top10 (十大常用工具)

等待安装完成

安装 GRUB

安装GRUB引导加载程序: 是 设备: /dev/sda (或你的磁盘)

等待安装完成

完成安装

安装完成后,点击"继续"重启 移除安装介质 (在PVE中分离ISO)

大概几分钟就能够进入如下图页面。如果进入不了显示还是黑屏的话,需要下滑技术细节有讲解

如下图所示,进入kali界面了

技术细节

一:修改root的密码

使用root的账号登录kali

重启使用root账号登录

二:⚙️ 步骤 安装后配置

基础系统更新

# 更新源和系统 sudo apt update && sudo apt upgrade -y sudo apt dist-upgrade -y

 

如果执行报错的话,请下滑页面到问题--解决资源地址下载保存操作步骤

# 安装常用工具 sudo apt install -y qemu-guest-agent net-tools curl wget vim git htop

# 启动QEMU代理 sudo systemctl start qemu-guest-agent sudo systemctl enable qemu-guest-agent

证服务是否在运行:在终端输入:

systemctl status qemu-guest-agent 

如果输出里显示 active (running),就说明服务已经正常启动,PVE 和 Kali 的通信已经打通,配置是成功的。

三:网络配置优化

🛠️ 第一步:先确定你的网卡名称

在终端里输入这条命令,查看当前的网卡列表:

ip a 

输出里会显示网卡名称(比如 eth0ens33enp0s3 等),记住这个名称(后面要用到)。

备注:

# 配置静态IP(如果需要) sudo nano /etc/network/interfaces # 或使用 netplan(新版Kali) sudo nano /etc/netplan/01-netcfg.yaml
🚀 第二步:传统 interfaces 配置(适合你之前打开的文件)
  1. 保存并退出Ctrl + O 保存,再按回车键,再按 Ctrl + X 退出编辑器。

直接重启 NetworkManager 服务(这是 Kali 默认的网络管理工具):

sudo systemctl restart NetworkManager # 设置开机自启(可选,避免每次开机手动启动) sudo systemctl enable NetworkManager

添加固定 IP 配置在文件末尾粘贴以下内容(把 IP、网关换成你自己的网络参数,比如想设为 192.168.0.100):

auto eth0 iface eth0 inet static address 192.168.0.101/24 # 你想要的固定IP,子网掩码/24对应255.255.255.0 gateway 192.168.0.1 # 你的路由器网关IP(通常是192.168.0.1或192.168.1.1) dns-nameservers 8.8.8.8 114.114.114.114 # 公共DNS,也可以用你路由器的IP 

编辑配置文件在终端输入:

sudo nano /etc/network/interfaces 

✅ 验证网络是否启动成功

执行完命令后,用下面的命令检查:

# 查看网卡IP是否正常获取 ip a # 测试网络连通性 ping baidu.com -c 3 

如果 ip a 显示 eth0 有 IP,且 ping 能收到回复,就说明网络已经正常启动了。

四:🚀 启用SSH服务完整操作流程(跟着做就行)

第一步:先确认 SSH 是否安装(Kali 默认可能没装)

在终端输入:

sudo apt install -y openssh-server 

这会自动安装 SSH 服务端,确保你能远程连接。
如下图所示,SSH 服务端(openssh-server)已经安装,并且是最新版本

第二步:启用开机自启

输入:

sudo systemctl enable ssh 

输入 Kali 密码后按回车,看到 Created symlink ... 就说明成功了。

第三步:立即启动 SSH 服务

输入:

sudo systemctl start ssh 

执行后没有报错,就说明服务已经启动了。

第四步:验证是否成功(必做!)

输入:

systemctl status ssh 

如果输出里显示 active (running)(绿色),就说明 SSH 服务正常运行了。

第五步:找到 Kali 的 IP(用来远程连接)

输入:

ip a 

找到你的网卡(比如 eth0),记下它的 IP(比如 192.168.0.101)。

第六步:用其他电脑远程连接(比如你的 Windows 主机)
  • 输入 Kali 的密码,按回车,就成功远程登录了!

在 Windows 上用工具(比如 Xshell、Putty),或者用 PowerShell 终端,输入:

ssh [email protected] 

        备注:不要使用root账户登录,Kali 为了安全,默认禁止 root 用户通过 SSH 密码登录。如果开放root权限下滑页面--解决root用户通过 SSH 连接

可参考这篇文章使用工具连接


⚠️ 小白必看的注意事项
  1. 安全建议(小白先记下来)默认用密码登录有风险,等你熟悉后,可以改成「密钥登录」更安全。
  2. 常见坑
    • 远程连接时 IP 要填对(必须是 Kali 的内网 IP)
    • 确保两台电脑在同一个局域网(比如都连同一个 WiFi)
    • 如果连不上,先看 SSH 服务是否正常(用 systemctl status ssh 检查)

防火墙要放行 SSH 端口如果 Kali 开了防火墙(比如 ufw),要允许 SSH 的默认端口(22),否则连不上:

sudo ufw allow 22 sudo ufw enable 

五: 显卡和显示优化

# 解决控制台卡顿问题 sudo nano /etc/default/grub

# 修改 GRUB_CMDLINE_LINUX_DEFAULT 为: GRUB_CMDLINE_LINUX_DEFAULT="quiet splash console=tty0 console=ttyS0,115200n8" 保存CTRL+o,再按回车键,再按CTRL+x 表示退出

# 更新GRUB sudo update-grub

(可选一):PVE 特殊配置

1. PCIe 直通(用于无线网卡)

如果需要直通USB无线网卡进行无线安全测试:

# 在PVE主机上启用IOMMU nano /etc/default/grub # Intel平台添加:intel_iommu=on # AMD平台添加:amd_iommu=on # 更新并重启PVE update-grub reboot # 检查IOMMU组 ls /sys/kernel/iommu_groups/

2. USB 设备直通

在PVE Web界面:

  1. 选择虚拟机 → 硬件 → 添加 → USB设备
  2. 选择要直通的USB设备(如无线网卡)

3. 调整CPU和内存分配

根据测试需求调整:

  • CPU:增加核心数(4-8个)提高密码破解速度
  • 内存:增加内存(8-16GB)支持更多虚拟机/容器

(可选二):配置 Kali 工具和元包

# 查看已安装的元包 apt list --installed | grep kali-tools # 安装额外的工具集 sudo apt install -y kali-tools-web # Web渗透工具 sudo apt install -y kali-tools-wireless # 无线测试工具 sudo apt install -y kali-tools-forensics # 取证工具 sudo apt install -y kali-tools-sniffing # 嗅探工具 sudo apt install -y kali-tools-passwords # 密码破解工具 # 安装完整工具集(磁盘空间充足时) # sudo apt install -y kali-linux-everything

📌 先搞懂每个工具集的用途

  • kali-tools-web:Web 渗透工具集(比如 Burp Suite、Nikto)→ 学 Web 安全必装
  • kali-tools-wireless:无线测试工具集(比如 Aircrack-ng)→ 学无线安全才需要
  • kali-tools-forensics:数字取证工具集 → 学电子取证才需要
  • kali-tools-sniffing:网络嗅探工具集(比如 Wireshark)→ 学网络分析常用
  • kali-tools-passwords:密码破解工具集(比如 Hashcat)→ 学密码攻击常用
  • kali-linux-everything:完整工具集(几百个工具,占几十 G 空间)→ 小白绝对不推荐,太臃肿,大部分工具你用不上

(可选三):Kali 工具配置和优化

1. 配置 Burp Suite

# 安装Java环境 sudo apt install -y default-jdk # 配置环境变量 echo 'export JAVA_HOME=/usr/lib/jvm/default-java' >> ~/.bashrc source ~/.bashrc # 启动Burp Suite burpsuite &

2. 配置 Metasploit

# 初始化数据库 sudo msfdb init # 启动Metasploit服务 sudo systemctl start postgresql sudo systemctl enable postgresql # 启动msfconsole msfconsole # 在msfconsole中初始化数据库 msf6 > db_status

3. 配置 Nessus

# 下载安装包 wget https://www.tenable.com/downloads/api/v1/public/pages/nessus/downloads/XXX/download?i_agree_to_tenable_license_agreement=true -O Nessus.deb # 安装 sudo dpkg -i Nessus.deb # 启动服务 sudo systemctl start nessusd sudo systemctl enable nessusd # 访问 https://localhost:8834 进行配置

4. 配置 Aircrack-ng 套件

# 检查无线网卡支持 sudo airmon-ng # 安装必要依赖 sudo apt install -y aircrack-ng hcxtools hcxdumptool # 配置无线网卡监控模式 sudo airmon-ng start wlan0

问题

解决root用户通过 SSH 连接

  1. 保存并退出:按 Ctrl + O 保存,再按回车键,再按 Ctrl + X 退出编辑器。

重启 SSH 服务生效:

sudo systemctl restart ssh 

找到这两行(如果前面有 # 表示被注释了,需要去掉 # 并修改):

# PermitRootLogin prohibit-password # PasswordAuthentication yes 

修改为:

PermitRootLogin yes PasswordAuthentication yes 

这两行的意思是:允许 root 用户登录,并且允许用密码登录。

打开 SSH 配置文件:

sudo nano /etc/ssh/sshd_config 

✅ 第三步:再次尝试远程连接

在 Windows 的 PowerShell 或终端里重新输入

ssh [email protected]

通过本地远程桌面连接kali教程地址:

Windows 11 与 Kali Linux图形化 本地电脑远程桌面配置详细教程

    解决资源地址下载报错操作步骤

    报错如下信息

    这个报错是因为 Kali 默认的镜像源里,有一些台湾地区的源(比如mirror.twds.com.tw)在国内访问不稳定,导致下载超时或失败。我们只需要把镜像源换成国内稳定的,就能解决这个问题👇


    🛠️ 小白版解决步骤

    1. 先终止当前失败的升级按键盘上的 Ctrl + C,停止正在运行的 apt 命令。

    备份原来的源文件(重要!防止改坏)在终端里输入:

    sudo cp /etc/apt/sources.list /etc/apt/sources.list.bak 

    输入你的 Kali 密码后按回车,这样就把原来的源文件备份好了。

            

    编辑源文件,换成国内稳定镜像输入命令打开源文件:

    sudo nano /etc/apt/sources.list 

    打开后,把文件里所有内容删除或用 # 注释掉(在每行开头加 # 就会失效),然后粘贴下面任意一个国内源(推荐中科大或阿里云,速度最快):

    👉 中科大源(推荐)

    deb http://mirrors.ustc.edu.cn/kali kali-rolling main non-free contrib deb-src http://mirrors.ustc.edu.cn/kali kali-rolling main non-free contrib 

    👉 阿里云源

    deb http://mirrors.aliyun.com/kali kali-rolling main non-free contrib deb-src http://mirrors.aliyun.com/kali kali-rolling main non-free contrib 
    1. 保存并退出编辑器Ctrl + O 保存文件,再按回车,再按 Ctrl + X 退出 nano 编辑器。

    更新源缓存输入命令让系统识别新的源:

    sudo apt update 

    重新执行升级现在再运行你原来的命令,就会用国内源下载,速度快且稳定:

    sudo apt dist-upgrade -y

    解决桌面中文乱码

    关机重启之后页面显示就正常了。由于自己使用的是root账号是英文的。切换会kali用户账户就是中文的。root的账户就不设置中文

    解决黑屏🛠️ 小白版操作步骤 

    1. 先关闭虚拟机在 PVE 界面的右上角,找到「Stop」按钮(不是暂停),点击它彻底关闭虚拟机,这样才能修改硬件配置。
    2. 修改显卡类型在「Hardware」列表里找到「Display」这一项(就是当前显示 VMware compatible (vmware) 的那行),双击它。在弹出的窗口里,把「Type」从 VMware compatible 改成 Standard VGA(这个对 Kali 的兼容性最好),然后点「OK」保存。
    3. 重启虚拟机点击右上角的「Start」按钮启动虚拟机,系统会用新的兼容显卡加载图形界面,应该就能正常进入登录页面了。

    小结

    有任何问题,可以私信作者或者关注作者的公众号《全栈鍾猿》。会看到消息及时回复您的问题和解答哦

    Read more

    几小时完成生鲜配送系统!飞算JavaAI专业版:智能引导+两大工具承包开发全流程

    作为一名Java开发者,我曾无数次被「需求拆解难、后期调试烦」的问题困住,最近面对一个生鲜配送系统的开发需求,光梳理业务逻辑、设计表结构就要耗上大半天,后续还要花时间处理代码规范、依赖冲突,往往一周才能拿出可运行的项目。直到试用了飞算JavaAI专业版,才发现AI辅助开发能如此高效:借助它的智能引导系统和两大核心AI工具,我从需求输入到项目初步完成仅需几小时,大大节省了我的时间。 智能引导五步法:让模糊需求快速落地 做生鲜配送系统前,我的需求很简单:「支持用户下单、订单跟踪、配送员调度、库存管理」,但具体怎么拆分模块、设计接口完全没头绪。放在以前,至少要花1天时间和产品经理对接需求文档,而飞算JavaAI的智能引导系统,直接帮我把模糊需求变成了标准化的开发方案。 第一步「理解需求」就超出预期。我在输入框写下核心诉求后,系统10秒内就拆解出几个关键点,还补充了我没考虑到很多功能——比如当生鲜商品临近保鲜期时,系统会自动触发库存预警,异常订单(如地址不明确、支付超时)会自动分流处理,简直像有个资深行业顾问在补位。 第二步「设计接口」根据我的需求创建了繁多的接口供我选择,并且可

    By Ne0inhk
    【Java 开发日记】阻塞队列有哪些?拒绝策略有哪些?

    【Java 开发日记】阻塞队列有哪些?拒绝策略有哪些?

    目录 阻塞队列有哪些? 拒绝策略有哪些? 面试回答 阻塞队列有哪些? 在Java的java.util.concurrent包里面,阻塞队列的实现挺多的,我们可以根据它的功能和结构来记,主要分这么几类: 1. 按容量划分: * 有界队列: 就是队列有固定的容量。 * ArrayBlockingQueue: 最经典的一个,底层是数组,创建时必须指定大小。它的生产和消费用同一把锁,性能相对稳定。 * LinkedBlockingQueue: 底层是链表,它既可以是有界的(构造时指定容量),也可以默认是无界的(默认是Integer.MAX_VALUE,几乎相当于无界)。它的生产和消费用了两把锁,在高并发场景下吞吐量通常比ArrayBlockingQueue更高。 * 无界队列: 理论上是无限的,只要内存够就能一直放。 * PriorityBlockingQueue: 一个支持优先级排序的无界队列。元素必须实现Comparable接口,或者构造时传入Comparator。它出队的顺序是按优先级来的,不是先进先出 * DelayQueue: 一个很特殊的队

    By Ne0inhk
    Java 大视界 -- 基于 Java+Storm 构建实时日志分析平台:从日志采集到告警可视化(440)

    Java 大视界 -- 基于 Java+Storm 构建实时日志分析平台:从日志采集到告警可视化(440)

    Java 大视界 -- 基于 Java+Storm 构建实时日志分析平台:从日志采集到告警可视化(440) * 引言: * 正文: * 一、实时日志分析平台的核心架构设计 * 1.1 架构分层与核心组件 * 1.2 组件选型的实战思考(10 余年经验沉淀,数据真实有出处) * 二、日志采集层:Flume 的高可用配置(生产级优化) * 2.1 Flume 的核心配置(抗住十万级 / 秒流量,注释完整) * 2.2 Flume 的高可用部署(避免单点故障,实战步骤清晰) * 2.2.1 多 Agent 冗余部署 * 2.2.2 Nginx

    By Ne0inhk