cowmc

给 Zero 2W 的 Kali 换一个能用的 Boot 分区

官方镜像没错,错的是它假设你连的是一个国外热点。记录一次从「开机没 IP」到「SSH 直接登录」的排查。

树莓派 Zero 2W 装 Kali 是个很舒服的组合:巴掌大、自带无线、跑得动 nmap 和一堆轻量工具。但如果你在国内照着官方文档刷完镜像,插电、等五分钟、路由器后台翻一遍——很可能根本看不到这台设备。

现象

原因

官方给 Pi 的 Kali 镜像,Boot 分区里的网络配置是按国外常见热点环境写的:监管域、接口名、DHCP 行为都做了假设。国内路由器的 2.4G 信道、认证方式、DHCP 下发逻辑和这套假设对不上,表现就是「连上了但没地址」。

另一件事是 SSH。Kali 默认 PermitRootLogin 是禁止密码登录的,而 Pi 上你又只有一个 root 账户。不提前改配置,开机后只能接键盘显示器。

所以修复分两部分:换一个按国内环境改好的 Boot 分区,再在系统分区里放开 root 登录。

准备

bash · 先看清设备名,别写错盘
lsblk -o NAME,SIZE,TYPE,MOUNTPOINT
sudo dd if=/dev/sdX of=~/kali-sd-backup.img bs=4M status=progress

第一步:替换 Boot 分区

仓库里提供了一个改好的 Boot 分区包(核心替换文件.zip)。把 SD 卡插到电脑上,找到 FAT32 的那个分区(通常是第一个),把原内容备份后,用包里的文件覆盖。

Boot 分区是 FAT32,Windows / macOS / Linux 都能直接读写,这一步不需要额外工具。

第二步:放开 root 登录

挂载系统分区(ext4,第二个分区),编辑 /etc/ssh/sshd_config,只改一行:

/etc/ssh/sshd_config
PermitRootLogin yes

不需要重启 sshd,也不需要切环境。保存退出,卸载分区即可。

!
别用弱密码。放开 root 密码登录等于把 SSH 暴露在局域网里。设一个强密码,或者干脆改成只允许密钥登录,把这个口子留到最小。

第三步:配置无线网络

Boot 分区里有两个文件要改。一个是 interfaces,给无线接口补上 DHCP:

boot/interfaces
auto wlan0
iface wlan0 inet dhcp

另一个是 wpa_supplicant.conf,填上你自己的热点。注意 country=CN 要写对,否则 5G 信道和发射功率会被限制:

boot/wpa_supplicant.conf
country=CN
ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev
update_config=1

network={
    ssid="你的WiFi名称"
    psk="你的WiFi密码"
    key_mgmt=WPA-PSK
}

验证

卸载 SD 卡,插回树莓派,通电。等一分钟左右,在路由器后台找新设备,或者从另一台机器扫一遍局域网:

bash
nmap -sn 192.168.0.0/24
ssh root@树莓派的IP

能拿到地址、能 SSH 进去,就算成了。后面想改主机名、换静态 IP、装工具,都是常规操作。

几个坑

整个改动很小,但省下的是每次重刷镜像都要接一次显示器的麻烦。仓库地址:kali-pitail-boot-fix-kali-。

← 返回博客