1. 项目概述与极简选型思路
Kali Linux 这个名字,在安全圈子里基本算个“标配”了。不管你是学渗透测试、做安全运维,还是单纯对这套基于 Debian 的发行版好奇,系统装起来都是第一道坎。但这道坎其实并不高,更多的是被一堆零散教程和操作失误搞得看起来很难。这篇文章我打算一次性讲清楚,从 VMware 虚拟机安装入手,把 root 权限的获取和远程访问这两件事彻底说透,全程按真实操作来,你在自己电脑上照着做就行,基本不会翻车。
很多人看到标题里“手把手”“保姆级”觉得是夸张,但实际这篇做的就是把那些坑提前排掉。比如为什么你明明按网上教程选好了镜像,开机却卡在 grub 界面;为什么 SSH 装上去了,Xshell 里却死活连不上;再比如 root 密码忘了到底能不能救回来,怎么救。这几件事我全都基于自己的实操经验来写,包含完整的命令和截图级分析,建议先收藏再跟着做,遇到问题也方便随时翻出来对照。
这篇文章适合谁?第一类是从没碰过 Kali 的新手,想先把环境跑起来,不想在物理机上折腾双系统;第二类是已经装了 Kali,但登录进桌面后搞不清楚普通用户和 root 的关系,远程管理的入口也一直没打通的人;第三类是纯粹顺手玩玩虚拟机,但每次都被各种配置文件折腾得够呛,想找个“一站式”答案的朋友。无论哪种情况,这篇文章都能给你省下大量的搜索和反复试错时间。
需要模型API调用? 免费领10W Token,多模型网关一键接入 Claude、DeepSeek 等主流模型。
2. Kali Linux 基础安装全流程(基于 VMware)
2.1 安装目标定位:读懂“Kali Linux 有中文解释吗”这类问题
先回答一个很常见的问题,后台总有人问“Kali Linux 有中文解释吗”。其实 Kali Linux 本身不是中英文的问题,它是一个 Linux 发行版的名字。真正问“中文”的人,一般是想知道安装过程有没有中文界面、装完之后能不能打中文。这里直接说结论:安装界面在引导阶段选择简体中文,就能全程中文操作;装完系统后默认不包含中文输入法,需要后期手动加装一个,这个我在本文后面专门留了优化章节来讲。这个问题之所以特别多,是因为很多新手在安装第一步就卡住了,被一堆看不懂的英文界面劝退,所以这篇我特意写清楚语言选择的位置,避免你在开头就懵掉。
接下来就是安装主体的重头戏。我个人强烈建议用 VMware Workstation 来承载 Kali,不管是 16 还是 17 Pro 都行,因为虚拟化方案确实太适合这种需要频繁尝试的安全类系统了。你可能偶尔会看到有人吹物理机安装能“发挥全部硬件性能”,但对学习使用而言,那纯粹是给自己找麻烦。Kali 在物理机上经常遇到无线网卡驱动不兼容、显卡驱动黑屏、声卡未识别等各种幺蛾子,而虚拟机里几乎不存在这些烦恼,还能随时做快照,玩坏了立刻恢复。
2.2 VMware 虚拟机硬件分配的几个核心参数
创建虚拟机之前,先去把 ISO 镜像下载好。官网是 kali.org/get-kali,进入下载页选第一个 “Installer” 或 “Weekly” 版本,我一般推荐用标准 64 位 Installer 版,体积大概 4GB 左右。为什么不用 Live 版?因为 Live 版每次重新开机都会恢复初始状态,不适合长期练习;而 “Network Installer” 版本依赖网络源加载组件,国内网络环境下速度会很不稳定,容易中断失败。用默认的完整安装包,先把离线环境部署好,是最稳妥的路线。
下载完 ISO 镜像之后,打开 VMware,点击“创建新的虚拟机”。这里注意关键点:类型选“典型(推荐)”就可以,但客户机操作系统一项,很多新手会到处找 Kali Linux,其实 VMware 并不会直接列出 Kali,而是选择“Debian 10.x 64 位”或者“Debian 11.x 64 位”,新版 Kali 基于 Debian 12,选对应的高版本项即可,实在不确定那就选 Debian 10 也能跑,兼容性影响不大。
硬件配置上,我给的参考参数是这样的:
- 内存:至少分配 2GB,建议 4GB。低于 2GB 的话,Kali 桌面环境加上 Chrome 浏览器一开,系统会卡到给鼠标指针都响应不过来
- 处理器:2 个内核就足够跑大多数命令工具了,给多了虚拟机抢占物理机资源,反而影响宿主机流畅度
- 硬盘:20GB 起步,如果你要装大型工具和扫描字典库,建议直接给 40GB,反正 VMware 用的是动态占用,不会一上来就占满
- 网络:默认 NAT 模式,也就是 Kali 和宿主机共享同一个物理网卡上网,IP 段为 192.168.x.x 内部隔离,非常适合后续学习 SSH 远程登录
上面的参数不是凭空写的,我实际测试过很多次。内存给太少,安装界面容易崩溃或者安装到一半进程被杀,而且 Kali 自带工具很吃内存,比如运行 Metasploit 再打开几个辅助模块,2GB 内存明显捉襟见肘,所以有条件尽量给到 4GB。硬盘同理,虽然系统装完可能只占六七 GB,但 apt 更新缓存和工具安装会迅速膨胀,20GB 只是保底,建议直接 40GB 一步到位。
2.3 安装引导过程:从开机到进入桌面的完整记录
虚拟机创建完成后,选择“编辑虚拟机设置”,在光驱位置加载你下载的 ISO 文件,然后开启虚拟机。开机后会先出现一个引导菜单,第一个选项是 “Graphical install”,第二个是 “Install”,还有几个带 “Advanced options” 的项。新手不要犹豫,直接选默认第一项图形化安装。这一步看似不起眼,但我见过不少人在字符界面下按错键导致安装中断,选图形界面能减少很多误操作。
进入图形安装向导后的前几步比较简单:
- 语言选择:拉到最下方找到简体中文,选中并继续
- 区域和时间:默认中国上海即可,不用改
- 键盘布局:选择“汉语”或者默认的 English (US) 都行,这会影响后续终端的按键习惯,我一般保持默认 English (US),因为很多命令快捷键都是基于美式布局的
- 主机名和域名:默认的 kali 即可,如果局域网内有多台 Kali,最好起一个容易区分的名字,比如 kali-vm-01
- 用户密码:这里会创建第一个用户。默认用户名是 kali,密码建议设成强密码但也别太复杂,比如 Kali@2024 之类,因为后面你还要在虚拟机上反复登录用,太复杂纯属折腾自己
等系统文件复制完成,会弹出一个对话框让你选择桌面环境。Kali 默认有 Xfce 和 GNOME,我强烈建议新手直接使用 Xfce,这也是 Kali 官方默认推荐的桌面。Xfce 占用资源小、运行流畅、图形界面稳定,训练营里大量工具的 GUI 版本都优先为 Xfce 做了适配。接着继续走安装流程,直到出现重启提示,拔掉光驱里的 ISO,重启进入系统就算完成了一多半。
重启后你会看到熟悉的登录界面,输入刚才设置的用户名和密码进入桌面。此时可以打开终端输入 uname -a 和 sudo apt update 验证网络是否生效。如果 apt 源更新成功,说明你的 Kali 已经“活”过来了,后面所有配置都有了基础条件。
3. Root 管理员权限深度解析:掌握 sudo 与急救修复技能
3.1 Kali 中 Root 用户与普通用户的关系
进入桌面之后,很多人第一反应是“为什么我创建了用户,却听说 Kali 要用 root 操作”,这就要讲清楚 Kali 的用户机制了。Kali 基于 Debian,安装时默认只创建一个普通用户,比如 kali。按照现代 Linux 安全规范,平时操作不应该用 root 直接登录,而是通过普通用户加 sudo 的方式临时提权,防止误操作毁掉整个系统。
但 Kali 的情况又比较特殊。你平时执行渗透工具、抓包、改网络配置时,大多数命令需要有 root 权限,比如打开 wireshark 抓包、修改网卡监听模式、扫描端口等等,这些操作普通用户根本没有权限。如果每次都要输 sudo 加命令,会非常啰嗦。所以很多安全从业人员习惯直接切换到 root 环境来干活。这个节奏需要一个明确的界定:日常桌面浏览使用普通用户,命令行工具测试切换到 root,两者结合才不会出问题。
下面这段是核心知识点,建议反复看清楚。
sudo <命令>:仅让当前这一条命令以 root 身份执行,执行完自动退回普通用户sudo -i:直接切入 root 的交互式 shell,相当于快速登录成 root,这时候你会看到提示符变成 root@kali:~#su -:如果你已经设置了 root 独立密码,也可以直接用这个命令切换到 root
3.2 设置 Root 密码的规范操作
Kali 默认其实没有为你启用 root 登录。你只有一个普通用户 kali,并且这个用户在 sudo 组里,具备提权能力。如果你希望以后能够直接用 root 用户登录桌面、或者远程 SSH 用 root 账号连接,就必先手动设置一个 root 密码。这个操作非常简单,在终端执行:
bash复制sudo passwd root
系统会让你先输入当前 kali 用户的密码,然后连续两次输入新 root 密码。密码尽量不要空着或者太简单,虽然虚拟机是你的练习环境,但之后一旦开了 SSH,弱密码会是一个很大的隐患。设置成功后可以验证一下:
bash复制su - root
这步是让 Kali “从只有普通用户”,变成“普通用户 + 明确可用 root”,也是标题里“获取 root 权限”的第一层意思。很多人去搜相关教程,发现敲 sudo su 可以成功,以为自己已经拿到了 root,其实那个只是临时借用 root 身份,并没有设置 root 登录凭证,重启后照样不能用 root 登录。想要一劳永逸,一定要执行 sudo passwd root。
3.3 忘记 Root 密码?紧急恢复完整实操
第三个要讲的就是 root 密码忘了怎么办。其实不只是 root,有时候普通用户密码忘了,也一样可以进系统去改。这里我以 Kali 环境为例,梳理一套抢救流程。很多刚学会设置密码的朋友,过一两个月就把设置的密码给忘了,这种情况特别常见。别慌,系统引导阶段就有后门。
具体操作流程如下:
- 重启虚拟机,当屏幕上出现 GRUB 菜单时(就是让你选 “Kali GNU/Linux” 的那个黑底菜单),按键盘上的 e 键进入编辑模式
- 移动到以
linux /boot/vmlinuz...开头的那一行,按下 End 跳到结尾,先敲一个空格,再追加参数init=/bin/bash - 按 Ctrl+X 或 F10 以这个参数启动系统,系统会跳过登录认证,直接进入一个 bash shell 环境
- 这时候文件系统是只读状态,我们先重新挂载为可读写,执行命令
mount -o remount,rw / - 执行
passwd root,键入你想要的新 root 密码,完成后执行reboot -f重启
重启后用新密码登录 root 就能进去了。如果你忘记的其实是 kali 普通用户密码,那么在第 5 步改动下即可:
bash复制passwd kali
这里有一个非常重要的细节要在实操中注意:如果第 4 步忘记执行,直接 passwd,系统会提示 “Authentication token manipulation error”,因为只读文件系统不允许写入密码 hash。这个错误我一共遇到过几次,每次都是因为重启后太激动直接改密码,然后被文件系统权限卡主。顺序关系先挂载再改密,不能反过来。
沿用这套思路,其实 GRUB 还有另外两种恢复模式,比如 rd.break 参数搭配 systemd 去重置密码。不过 init=/bin/bash 这种方式更古朴直接,对新版 Kali 也兼容得很好。我平时给别人做应急恢复时就用它,不容易踩到 systemd 服务加载异常之类的坑。
4. 远程访问:开启 SSH 与图形化桌面 XRDP
4.1 安装并启动 SSH 服务
既然 Kali 是装在虚拟机里的,宿主机上想要远程操作它,就需要开启远程访问服务。最稳妥的做法是使用 SSH。Kali 的官方镜像默认是没有启用 SSH 服务的,你需要手动安装并启动。打开 Kali 终端,先更新一下软件包缓存,再安装 SSH 服务:
bash复制sudo apt update
sudo apt install -y openssh-server
安装完成后,先不要急着连,用下面这两条命令把服务启动并设为开机自启。如果不设开机自启,虚拟机重启后 SSH 又挂了,那远程访问就还得重新手动开:
bash复制sudo systemctl enable --now ssh
sudo systemctl status ssh
看到status输出中有 active (running) 就代表已经正常工作了。接下来你要修改一下 SSH 的配置文件,允许 root 用户远程登录。默认配置文件 /etc/ssh/sshd_config 中有一行 #PermitRootLogin prohibit-password,意思是禁止 root 用密码登录。我们需要改成允许 root 密码登录,操作方法如下:
bash复制sudo sed -i 's/#PermitRootLogin prohibit-password/PermitRootLogin yes/' /etc/ssh/sshd_config
sudo systemctl restart ssh
日常做远程管理,你本机用户名是 kali,不想用 root 也可以直接 kali 用户登录。只要确保安装 ssh 后,kali 用户的密码是有值的即可。但前面既然已经设好了 root 密码,从管理便利性上讲,允许 root 登录远程其实是大家最常见的使用姿势。设置完成后,我们来看网络地址,这是很多人连不上 SSH 的根源。执行:
bash复制ip addr show
观察输出中 eth0 或 ens33 之类的网络接口,找到 inet 后面的 IPv4 地址,例如 192.168.44.129。这个地址就是宿主机访问 Kali 的目标 IP。在 VMware NAT 模式下,这个 IP 会和宿主机处在同一个内网网段中,宿主机可以直接 ping 通它。如果你发现没有 IP 或者网卡没起来,大概率是 DHCP 没获取到地址,可以执行 sudo dhclient eth0 手动请求一下。
4.2 使用 Xshell / MobaXterm 远程登录实践
Kali 端配置完成后,接下来就是宿主机上远程连接客户端的具体操作。Windows 下我推荐两款工具,一个是 Xshell,免费版够用;另一个是 MobaXterm,界面信息更直观,支持 SFTP 互传文件,我日常主力用的其实是 MobaXterm。如果你不想装额外的软件,直接用 Windows 自带的终端窗口跑 SSH 命令也可以:
bash复制ssh root@192.168.44.129
第一次连接会提示是否保存主机密钥,输入 yes 回车,然后输入 root 密码,就能看到欢迎信息以及 Kali 的 MOTD 提示。如果是用 Xshell 这类图形化客户端,新建会话时填写对应的主机 IP、协议选 SSH、端口 22,连接后输入账号密码即可。
在这一步最容易遇到的故障是连接超时或拒绝连接。我自己在多次排障过程中总结了几条实用的核查顺序:
- ping 不通:多半是网络模式选错了或者虚拟网卡被禁,先检查虚拟机网络适配器是不是 NAT 模式,宿主机 VMware NAT Service 是否在运行
- 能 ping 通但 SSH 拒绝连接:先确认 SSH 服务是否启动,可以回到虚拟机桌面执行
sudo systemctl status ssh;也要确认防火墙是否拦截了 22 端口,默认 Kali 一般没有开启 ufw 防火墙,但你要是之前手动开过,就用sudo ufw allow 22放行 - 密码正确但提示拒绝:多半是上节说的
PermitRootLogin没有配置生效,检查修改后是否执行了systemctl restart ssh
每次遇到连接问题,要按服务端状态到网络链路再到客户端配置的顺序逐层排查,不要上来就去重装系统,那样反而耽误时间。远程登录成功后,建议顺手做一个懒人优化:编辑本机的 ~/.ssh/config 文件,写进别名配置,比如 Host kali 对应 IP,这样下次直接敲 ssh kali 就能连,省去记 IP 和输密码的繁琐操作。
4.3 进阶:用 Xrdp 实现 Kali 远程桌面访问
SSH 能解决 90% 的命令行远程操作需求,但有些场景需要打开图形界面,比如你要演示某个 GUI 工具或者跑 Zenmap。这时候可以给 Kali 安装 Xrdp 服务,从 Windows 自带的远程桌面连接(mstsc)直接连到 Kali 桌面,体验比 VNC 更顺滑。
安装方法如下:
bash复制sudo apt update
sudo apt install -y xrdp
sudo systemctl enable --now xrdp
安装结束后,为了确保 Xrdp 能正常读取桌面会话,直接修改端口配置并重启服务:
bash复制sudo sed -i 's/port=3389/port=3389/g' /etc/xrdp/xrdp.ini
sudo systemctl restart xrdp
接下来在你 Windows 宿主机上按 Win+R,输入 mstsc 回车,在计算机栏输入 Kali 的 IP 地址,例如 192.168.44.129:3389,回车就能看到登录界面。这里要提醒一下,Xrdp 默认进入的是 Xorg 会话,登录画面会要求选择模块,如果你之前用的是 Xfce 桌面,可以把 export XDG_SESSION_DESKTOP=xfce 和 export DESKTOP_SESSION=xfce 加到 ~/.xsessionrc 文件里,否则容易进入空桌面包。实际配置完,重启后选 Xorg 会话,输入 kali 用户密码,就能顺利进入 Kali 图形桌面。
Xrdp 有两个常见的坑,我先替你踩一踩,免得你到时候抓狂。第一个坑是 Xrdp 服务启动正常,但远程连接时黑屏。这种情况通常是当前用户已经登录了本地桌面,Xrdp 无法创建新的 X 会话,解决方法是先注销 Kali 本地桌面,再去远程连接。第二个坑是连接建立后直接闪退,多半是 SSL 密钥问题。可以重新生成证书,执行:
bash复制sudo rm /etc/xrdp/xrdp.key
sudo systemctl restart xrdp
在虚拟机环境里 Xrdp 是很稳定的,实测连续跑几天都不会断,用来做 Kali 的图形管理入口非常舒服。既然到了这步,你的 Kali 已经是既支持命令行 SSH、又支持图形化远程桌面的完全体了,日常使用体验和本机操作基本一致。
5. 安装后必做的优化:软件源、中文输入法与常见问题排查
5.1 修改软件源,让 apt 下载速度拉满
Kali 默认拉取软件包的服务器位于国外,就算你是百兆宽带,跑起来也有种拨号上网的错觉。所以装完系统之后第一件事,建议顺手把软件源换成国内镜像。这里用一个比较稳妥的做法:备份原始源文件,然后用 sed 一次性替换地址,再把 Kali Rolling 版本引入。
操作如下:
bash复制sudo cp /etc/apt/sources.list /etc/apt/sources.list.bak
sudo tee /etc/apt/sources.list << EOF
deb https://mirrors.tuna.tsinghua.edu.cn/kali kali-rolling main contrib non-free non-free-firmware
EOF
sudo apt update
换源之后下载速度和稳定性会明显提升。某些带 GUI 的工具比如 wireshark、burpsuite,本来要等几分钟,换成国内源后基本都是秒下。不过这里要提醒一句:不要贪多,不要同时混用多个完全相同的源地址,不然 apt update 时会出现 Release 文件冲突的提示,反而造成更新异常。一条源就够用,最多再加一个备用源注释掉,以备不时之需。
5.2 安装中文输入法(中文显示与输入体验增强)
正文开头提过“Kali Linux 中文解释”这个问题,现在终于到落地环节了。Kali 系统虽然能正常显示中文,但它默认没有输入法框架。想要在里面搜中文、写代码注释、聊天回复中文,需要手动装一个 fcitx5 或 ibus。我个人推荐 fcitx5,因为它的词库体验相对更现代,操作也自由。执行安装:
bash复制sudo apt install -y fcitx5 fcitx5-chinese-addons
安装完成后执行 im-config,在弹出选择框中选择 fcitx5,确认后重启系统。登录进入桌面后,打开终端运行 fcitx5-configtool,把拼音输入法添加进去。这套组合在 Kali Xfce 上表现很好,不会出现输入框不跟随的光标问题,也极少有进程崩溃现象。装完之后按 Ctrl+Space 就能在英文和拼音输入法之间切换。
在测试中文输入时,还有一个很隐蔽的问题,就是部分终端软件的字体配置可能导致中文显示成方块。最简单的解决方法是安装中文字体包:
bash复制sudo apt install -y fonts-noto-cjk
安装这个包之后刷新字体缓存:
bash复制fc-cache -fv
然后再打开浏览器或文本编辑器,中文显示的样子就会好看得多。实际上除了输入法,虚拟机自身的“中文环境变量”也可能有遗漏,但我们在安装阶段已经选了中文语言,系统全局 locale 本来就是 zh_CN.UTF-8,所以这里只需要补输入法和字体,就够用了。如果你用 SSH 终端连接 Kali 并执行 nano 编辑文件时遇到乱码,请在客户端里把编码设置为 UTF-8 即可。
5.3 常见问题排查与避坑技巧
整篇内容到这儿,Kali 的环境搭建已经完成了从零到实战的全过程。那在最后一部分,我想把平时玩 Kali 时大家最常踩的几个坑集中说一遍,像做一个速查表一样,遇到问题直接翻对着操作就行。
第一个高频坑:VMware 里 Kali 上不了网。这个多半是网络模式选错了,或者 Windows 的防火墙拦截了 VMware DHCP 服务。确认虚拟网络编辑器里的 NAT 模式已启用,然后在 Windows 服务管理器里检查 VMware NAT Service 和 VMware DHCP Service 是否在运行状态。每次 VMware 升级之后这些服务经常发生掉线,重启一下服务即好。
第二个高频坑:重启之后就进不去图形界面,卡在黑屏或 grub 命令行。如果你电脑 CPU 较新但 VM 配置里没有启用虚拟化引擎,VMware 会默认不开启 VT-x/AMD-V,虽然不开启也能跑,但部分动态驱动和 3D 加速可能会出问题。解决办法是编辑虚拟机设置,在“处理器”里勾选“虚拟化 Intel VT-x/AMD-V”这两个选项,然后重启虚拟机。
第三个高频坑:执行 apt 命令时提示 dpkg 中断或依赖关系损坏。这种通常是因为安装过程中不小心 Ctrl+C 强制停止了某个安装任务,或者是软件源切换时缓存不一致导致。解决办法是清理抢占的安装状态,执行:
bash复制sudo dpkg --configure -a
sudo apt --fix-broken install
sudo apt update && sudo apt upgrade -y
运行完这三条命令,绝大多数依赖问题都能自动修复干净。
第四个高频坑:Xrdp 连接后键盘或鼠标操作延迟高。这是因为虚拟机的显卡加速能力和远程桌面协议的编码压缩方式不同。如果你经常用 Xrdp 做图形化工作,建议在虚拟机设置里把显示器的“加速 3D 图形”关闭,这样可以降低远程连接的延迟和花屏概率。虽然听上去有点像反向操作,但实测确实能明显改善连接稳定性。
整篇教程到这里,其实已经把“安装 - Root 权限管理 - 远程访问”以及配套的优化流程完整走了一遍。我个人在实际操作中的体会是,Kali Linux 作为学习工具并不难,难点主要在于构建一套干净、可复现、可回退的环境,VMware 加快照是最好的伙伴,Root 权限只是系统管理里的常规操作,远程访问则是一种从本地电脑跨越物理阻碍的高效手段。你把这些基础打扎实了,后续再去折腾 bash 脚本、自动化部署、安全检测这些真正的深度内容,就会顺手得多。最后再分享一个小技巧,建议你每次在做完一个阶段设置后都回 VMware 给虚拟机拍一个快照,比如“刚装好系统”“SSH 已配置”和“Xrdp 完整版”这三个干净状态的快照。以后系统玩坏了,直接恢复对应快照就能秒回可用的环境,这个习惯能帮你省下大量的重装时间。
