如何在 CentOS 7 命令行连接 Wi-Fi?如何在 Linux 命令行连接 Wi-Fi?
如何在 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
1. 前提检查
- 确保无线网卡已安装并被系统识别
ip link show
# 或者
nmcli device status
如果你看到有 wlan0 或类似的无线设备状态为 disconnected,说明系统已识别。
- 开启 NetworkManager 服务
systemctl start NetworkManager
systemctl enable NetworkManager
2. 使用 nmcli 命令连接 Wi-Fi
步骤一:打开无线功能
nmcli radio wifi on
解释:
radio wifi on表示打开无线功能,相当于桌面版的“打开 Wi-Fi 开关”。
步骤二:查看可用 Wi-Fi 列表
nmcli dev wifi list
解释: 扫描并列出当前无线网卡探测到的 Wi-Fi 网络。
步骤三:连接 Wi-Fi 网络
nmcli dev wifi connect "你的WiFi名称" password "你的密码"
例如:
nmcli dev wifi connect "MyHomeWiFi" password "12345678"
解释:
connect:发起连接"你的WiFi名称":SSID(网络名称)password:对应网络的密码
连接成功后,系统会自动保存该配置,之后重启也能自动连接。
3. 使用 nmtui 图形化命令界面(适合新手)
nmtui
进入后用键盘选择:
- Activate a connection
- 找到你的无线网络 → 回车 → 输入密码 → 完成连接
这种方式对不熟悉命令行的用户很友好。
二、10 多种 Linux 发行版连接 Wi-Fi 方法
1. Ubuntu / Debian 系
方法一:使用 nmcli
nmcli device wifi list
nmcli device wifi connect "SSID" password "密码"
方法二:使用 wpa_supplicant(适合服务器版)
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。
ip link set wlan0 up
启用无线网卡
wlan0。如果你不知道接口名,可用ip link查看。
iw wlan0 scan | less
扫描附近所有 Wi-Fi 热点,并用
less分页显示,查找目标 Wi-Fi 的 SSID(名称)。
wpa_passphrase "你的SSID" "你的密码" > wpa.conf
根据输入的 Wi-Fi 名称和密码生成加密配置文件
wpa.conf。
wpa_supplicant -B -i wlan0 -c wpa.conf
后台(-B)使用
wpa_supplicant启动 Wi-Fi 连接。
dhcpcd wlan0
使用 DHCP 客户端自动从路由器获取 IP 地址。
3. Fedora(推荐使用 nmcli)
Fedora 默认启用 NetworkManager,可用 nmcli 命令管理网络。
nmcli dev wifi list
扫描可用 Wi-Fi 网络。
nmcli dev wifi connect "你的SSID" password "你的密码"
直接发起连接,系统会保存配置供后续自动连接。
4. Alpine Linux(轻量发行版)
Alpine 默认不带网络工具,需要先安装。
apk add wpa_supplicant wireless-tools
安装无线连接所需工具。
iw dev wlan0 scan
使用
iw工具扫描 Wi-Fi 热点。
wpa_passphrase "SSID" "密码" > /etc/wpa_supplicant/wpa_supplicant.conf
生成连接配置并保存到系统配置文件中。
wpa_supplicant -B -i wlan0 -c /etc/wpa_supplicant/wpa_supplicant.conf
启动连接进程。
udhcpc -i wlan0
Alpine 常用的 DHCP 客户端,自动获取 IP。
5. Kali Linux
Kali 也是基于 Debian 的系统,支持 nmcli。
nmcli device wifi connect "SSID" password "password"
一条命令完成连接。
6. OpenSUSE
同样使用 NetworkManager。
nmcli device wifi list
nmcli device wifi connect "SSID" password "password"
7. Gentoo Linux
Gentoo 灵活但需手动配置:
iwconfig wlan0 essid "SSID"
设置无线接口连接到指定的 SSID。
wpa_supplicant -B -i wlan0 -c <(wpa_passphrase "SSID" "密码")
启动连接(不保存到文件,直接传入配置)。
dhcpcd wlan0
获取 IP 地址。
8. Void Linux
xbps-install -S wpa_supplicant dhcpcd
安装 Wi-Fi 连接必备工具。
wpa_passphrase "SSID" "密码" > /etc/wpa_supplicant.conf
wpa_supplicant -B -i wlan0 -c /etc/wpa_supplicant.conf
dhcpcd wlan0
9. Slackware
Slackware 没有现代化管理器,需要手动设置。
iwconfig wlan0 essid "SSID" key s:密码
设置网络名称与密码(仅支持 WEP 或明文密码)。
dhcpcd wlan0
启动 DHCP 获取地址。
10. Raspberry Pi OS Lite(适合树莓派无桌面环境)
sudo nano /etc/wpa_supplicant/wpa_supplicant.conf
添加配置如下:
ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev
update_config=1
country=CNnetwork={ssid="YourSSID"psk="YourPassword"
}
保存后执行:
sudo wpa_cli -i wlan0 reconfigure
重载 Wi-Fi 配置文件,立即连接网络。
11. Parrot OS
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 实战能力,更能让你在无界面环境下游刃有余地应对各种网络连接需求。
