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

如何在 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 实战能力,更能让你在无界面环境下游刃有余地应对各种网络连接需求。


http://www.xdnf.cn/news/3740.html

相关文章:

  • 力扣面试150题--二叉树的最大深度
  • 最大子段和 Java
  • 【计算机网络-应用层】解析HTTP会话保持:Cookie与Session的原理与实践
  • 学习黑客网络安全法
  • 26考研 | 王道 | 计算机网络 | 第三章 数据链路层
  • 第一章 初识SpringMVC
  • RUST变量学习笔记
  • 命令模式(Command Pattern)详解
  • 使用 Lux Algo + ATR Zones + IIIX 的黄金剥头皮策略(2025 年更新)
  • 抽象工厂模式(Abstract Factory Pattern)
  • c++26新功能——gcc15.1的支持
  • 第1章 Python 解释器安装(Anaconda/Pyenv 推荐)
  • 生成式 AI 的重要性
  • 第6章 Python 基本数据类型详解(int, float, bool, str)细节补充
  • GPU平台-优云智算
  • 机器学习中的分类和回归问题
  • thonny提示自动补全功能
  • 《Qt C++ 项目中升级 GCC 版本的完整指南》
  • 用Suno V4.5试了一下1850字的歌词进行创作出来了6分钟的歌曲
  • Unity基础学习(四)生命周期函数
  • 机器人编程基础---C语言中的表达式和求值
  • PyTorch_点积运算
  • c++回调函数
  • 嵌入式硬件篇---STM32 系列单片机型号命名规则
  • PyTorch_指定运算设备 (包含安装 GPU 的 PyTorch)
  • C++八股--5--设计模式--适配器模式,代理模式,观察者模式
  • 大数据:驱动技术创新与产业转型的引擎
  • 【RocketMQ NameServer】- NettyEventExecutor 处理 Netty 事件
  • 网格不迷路:用 CSS 网格生成器打造完美布局
  • Linxu基本操作