当前位置: 首页 > news >正文

如何在 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?如何在 Linux 命令行连接 Wi-Fi?


一、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 linkiw dev 查看实际接口名称;执行 lspcilsusb 查看硬件信息,确认无线网卡型号,然后搜索对应驱动并手动加载(如 modprobe iwlwifi);确保无线模块未被禁用(检查 rfkill list
wpa_supplicant 启动失败 / 连接失败SSID 名称或密码错误;配置文件格式有误;设备接口名称不匹配检查配置文件内容是否正确(可使用 cat 查看),确认密码是否拼写错误,确保 -i 参数后面的接口名是正确的无线设备;查看日志 journalctl -xe/var/log/syslog 获取失败原因
无法获取 IP 地址DHCP 客户端未启动或服务端无响应;已分配静态 IP使用 dhclient wlan0dhcpcd 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 -Lfirewalld 状态)
nmcli 报错 “Device not managed”NetworkManager 未接管该设备编辑 /etc/NetworkManager/NetworkManager.conf,确保 [ifupdown] managed=true,然后重启 NetworkManager:systemctl restart NetworkManager

四、结语

命令行连接 Wi-Fi 虽然相较图形界面更具挑战性,但它的灵活性、可自动化性以及对资源的极低占用,使其在很多关键场景中成为首选:

  • 嵌入式设备 / 树莓派 Lite 版:没有 GUI,节省资源;
  • 远程运维 / VPS 配置:SSH 操作必须使用命令行;
  • 批量部署 / 自动化脚本:结合 systemd、shell 脚本可实现无人值守联网;
  • 特殊网络需求:更容易手动控制路由、加密、代理等参数。

掌握如 nmcliwpa_supplicantiwip 等网络工具,不仅能提升你的 Linux 实战能力,更能让你在无界面环境下游刃有余地应对各种网络连接需求。


相关文章:

  • 蟋蟀的叫声,大自然的温度计
  • 网络Tips20-002
  • 多多铃声 7.4| 拥有丰富的铃声曲库,满足不同用户的个性化需求,支持一键设置手机铃声
  • 多把锁以及线程死锁问题
  • Spring AI 实战:第三章、Spring AI结构化输出之告别杂乱无章
  • 【RocketMQ NameServer】- NameServer 启动源码
  • 如何设计抗Crosstalk能力强的PCB镀穿孔
  • 一种基于重建前检测的实孔径雷达实时角超分辨方法——论文阅读
  • ROS2安装简明教程
  • 算力经济模型研究:从云计算定价到去中心化算力市场设计
  • Linux时钟与时间API
  • spring2.x详解介绍
  • Power Query精通指南1:查询结构设计、数据类型、数据导入与迁移(平面文件、Excel、Web)
  • 爬虫准备前工作
  • AIGC时代——语义化AI驱动器:提示词的未来图景与技术深潜
  • WebAPI项目从Newtonsoft.Json迁移到System.Text.Json踩坑备忘
  • Java 反序列化
  • 从零开发一个B站视频数据统计Chrome插件
  • 音视频开源项目列表
  • vue的diff算法是什么、比较方式,原理分析、示例解释讲解
  • 潘功胜:央行将设立5000亿元服务消费与养老再贷款
  • 有人悬赏十万寻找“全国仅剩1只”的斑鳖,发帖者回应并证实
  • 马上评|从一个细节看今年五一档电影
  • 哈马斯官员:进一步停火谈判毫无意义
  • 躺着玩手机真有意思,我“瞎”之前最喜欢了
  • 经济日报头版刊文:为什么贸易战没有出路