如何在 CentOS 7 命令行连接 Wi-Fi?如何在 Linux 命令行连接 Wi-Fi?摘要本教程覆盖如何在多种 Linux 发行版下通过命令行连接 Wi-Fi,包括:
CentOS 7、Ubuntu、Debian、Arch Linux、Fedora、Alpine Linux、Kali Linux、OpenSUSE、Gentoo、Void Linux、Slackware、Raspberry Pi OS Lite、Parrot OS、Tiny Core Linux 等系统,适用于服务器网络配置、树莓派 Wi-Fi 设置、VPS 无线连接、Linux 嵌入式设备网络管理等多种场景。
在没有图形桌面环境的 Linux 系统中,如何通过命令行连接 Wi-Fi 是许多用户在配置服务器、VPS、树莓派、嵌入式设备时遇到的重要问题。相比图形界面,命令行操作更轻量、灵活、适用于自动化或远程控制等场景。本文将以 CentOS 7 为主要示例,手把手讲解命令行连接 Wi-Fi 的完整流程,并提供 10 多种主流 Linux 发行版 的详细命令及中文解释,帮助你快速上手各系统下的无线网络配置。
如何在 CentOS 7 命令行连接 Wi-Fi?如何在 Linux 命令行连接 Wi-Fi?一、CentOS 7 命令行连接 Wi-Fi1. 前提检查确保无线网卡已安装并被系统识别ip link show
# 或者
nmcli device status如果你看到有 wlan0 或类似的无线设备状态为 disconnected,说明系统已识别。
开启 NetworkManager 服务systemctl start NetworkManager
systemctl enable NetworkManager2. 使用 nmcli 命令连接 Wi-Fi步骤一:打开无线功能代码语言:bash复制nmcli radio wifi on解释: radio wifi on 表示打开无线功能,相当于桌面版的“打开 Wi-Fi 开关”。
步骤二:查看可用 Wi-Fi 列表代码语言:bash复制nmcli dev wifi list解释: 扫描并列出当前无线网卡探测到的 Wi-Fi 网络。
步骤三:连接 Wi-Fi 网络代码语言:bash复制nmcli dev wifi connect "你的WiFi名称" password "你的密码"例如:
代码语言:bash复制nmcli dev wifi connect "MyHomeWiFi" password "12345678"解释:connect:发起连接
"你的WiFi名称":SSID(网络名称)
password:对应网络的密码
连接成功后,系统会自动保存该配置,之后重启也能自动连接。
3. 使用 nmtui 图形化命令界面(适合新手)代码语言:bash复制nmtui进入后用键盘选择:Activate a connection
找到你的无线网络 → 回车 → 输入密码 → 完成连接
这种方式对不熟悉命令行的用户很友好。
二、10 多种 Linux 发行版连接 Wi-Fi 方法1. Ubuntu / Debian 系方法一:使用 nmcli代码语言:bash复制nmcli device wifi list
nmcli device wifi connect "SSID" password "密码"方法二:使用 wpa_supplicant(适合服务器版)代码语言:bash复制wpa_passphrase "SSID" "密码" > /etc/wpa_supplicant.conf
wpa_supplicant -B -i wlan0 -c /etc/wpa_supplicant.conf
dhclient wlan0说明:wpa_passphrase 会生成加密配置文件
wpa_supplicant 负责认证连接
dhclient 获取 IP 地址
2. Arch Linux(使用 wpa_supplicant)Arch 是一个极简、滚动更新的系统,推荐使用 iw + wpa_supplicant 的组合连接 Wi-Fi。
代码语言:bash复制ip link set wlan0 up启用无线网卡 wlan0。如果你不知道接口名,可用 ip link 查看。
代码语言:bash复制iw wlan0 scan | less扫描附近所有 Wi-Fi 热点,并用 less 分页显示,查找目标 Wi-Fi 的 SSID(名称)。
代码语言:bash复制wpa_passphrase "你的SSID" "你的密码" > wpa.conf根据输入的 Wi-Fi 名称和密码生成加密配置文件 wpa.conf。
代码语言:bash复制wpa_supplicant -B -i wlan0 -c wpa.conf后台(-B)使用 wpa_supplicant 启动 Wi-Fi 连接。
代码语言:bash复制dhcpcd wlan0使用 DHCP 客户端自动从路由器获取 IP 地址。
3. Fedora(推荐使用 nmcli)Fedora 默认启用 NetworkManager,可用 nmcli 命令管理网络。
代码语言:bash复制nmcli dev wifi list扫描可用 Wi-Fi 网络。
代码语言:bash复制nmcli dev wifi connect "你的SSID" password "你的密码"直接发起连接,系统会保存配置供后续自动连接。
4. Alpine Linux(轻量发行版)Alpine 默认不带网络工具,需要先安装。
代码语言:bash复制apk add wpa_supplicant wireless-tools安装无线连接所需工具。
代码语言:bash复制iw dev wlan0 scan使用 iw 工具扫描 Wi-Fi 热点。
代码语言:bash复制wpa_passphrase "SSID" "密码" > /etc/wpa_supplicant/wpa_supplicant.conf生成连接配置并保存到系统配置文件中。
代码语言:bash复制wpa_supplicant -B -i wlan0 -c /etc/wpa_supplicant/wpa_supplicant.conf启动连接进程。
代码语言:bash复制udhcpc -i wlan0Alpine 常用的 DHCP 客户端,自动获取 IP。
5. Kali LinuxKali 也是基于 Debian 的系统,支持 nmcli。
代码语言:bash复制nmcli device wifi connect "SSID" password "password"一条命令完成连接。
6. OpenSUSE同样使用 NetworkManager。
代码语言:bash复制nmcli device wifi list
nmcli device wifi connect "SSID" password "password"7. Gentoo LinuxGentoo 灵活但需手动配置:
代码语言:bash复制iwconfig wlan0 essid "SSID"设置无线接口连接到指定的 SSID。
代码语言:bash复制wpa_supplicant -B -i wlan0 -c <(wpa_passphrase "SSID" "密码")启动连接(不保存到文件,直接传入配置)。
代码语言:bash复制dhcpcd wlan0获取 IP 地址。
8. Void Linux代码语言:bash复制xbps-install -S wpa_supplicant dhcpcd安装 Wi-Fi 连接必备工具。
代码语言:bash复制wpa_passphrase "SSID" "密码" > /etc/wpa_supplicant.conf
wpa_supplicant -B -i wlan0 -c /etc/wpa_supplicant.conf
dhcpcd wlan09. SlackwareSlackware 没有现代化管理器,需要手动设置。
代码语言:bash复制iwconfig wlan0 essid "SSID" key s:密码设置网络名称与密码(仅支持 WEP 或明文密码)。
代码语言:bash复制dhcpcd wlan0启动 DHCP 获取地址。
10. Raspberry Pi OS Lite(适合树莓派无桌面环境)代码语言:bash复制sudo nano /etc/wpa_supplicant/wpa_supplicant.conf添加配置如下:
代码语言:c代码运行次数:0运行复制ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev
update_config=1
country=CN
network={
ssid="YourSSID"
psk="YourPassword"
}保存后执行:
代码语言:bash复制sudo wpa_cli -i wlan0 reconfigure重载 Wi-Fi 配置文件,立即连接网络。
11. Parrot OS代码语言:bash复制nmcli device wifi connect "SSID" password "password"Parrot 基于 Debian,也推荐使用 nmcli。
三、常见问题排查命令行连接 Wi-Fi 过程中常见的问题如下,附带具体的排查和解决建议:
问题
可能原因
解决办法
找不到 wlan0 无线网卡
系统未识别无线网卡;驱动未加载;接口名称非 wlan0
使用 ip link 或 iw dev 查看实际接口名称;执行 lspci 或 lsusb 查看硬件信息,确认无线网卡型号,然后搜索对应驱动并手动加载(如 modprobe iwlwifi);确保无线模块未被禁用(检查 rfkill list)
wpa_supplicant 启动失败 / 连接失败
SSID 名称或密码错误;配置文件格式有误;设备接口名称不匹配
检查配置文件内容是否正确(可使用 cat 查看),确认密码是否拼写错误,确保 -i 参数后面的接口名是正确的无线设备;查看日志 journalctl -xe 或 /var/log/syslog 获取失败原因
无法获取 IP 地址
DHCP 客户端未启动或服务端无响应;已分配静态 IP
使用 dhclient wlan0 或 dhcpcd wlan0 主动请求动态 IP;可尝试 ping 路由器地址(如 ping 192.168.1.1)确认连接是否建立;检查是否有 IP 冲突,或者尝试手动配置静态 IP
Wi-Fi 连接成功但无法访问外网
DNS 设置缺失或错误;防火墙阻断;默认路由未配置
检查 /etc/resolv.conf 中是否有 nameserver 条目(如 8.8.8.8);使用 ip route 检查是否有默认网关(default via ...);如果没有默认路由,可使用 ip route add default via <网关IP> 添加;确认本机未被防火墙规则阻断(查看 iptables -L 或 firewalld 状态)
nmcli 报错 “Device not managed”
NetworkManager 未接管该设备
编辑 /etc/NetworkManager/NetworkManager.conf,确保 [ifupdown] managed=true,然后重启 NetworkManager:systemctl restart NetworkManager
四、结语命令行连接 Wi-Fi 虽然相较图形界面更具挑战性,但它的灵活性、可自动化性以及对资源的极低占用,使其在很多关键场景中成为首选:
嵌入式设备 / 树莓派 Lite 版:没有 GUI,节省资源;远程运维 / VPS 配置:SSH 操作必须使用命令行;批量部署 / 自动化脚本:结合 systemd、shell 脚本可实现无人值守联网;特殊网络需求:更容易手动控制路由、加密、代理等参数。掌握如 nmcli、wpa_supplicant、iw、ip 等网络工具,不仅能提升你的 Linux 实战能力,更能让你在无界面环境下游刃有余地应对各种网络连接需求。