如何在 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.mzph.cn/web/78436.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

基于PHP的在线编程课程学习系统

有需要请加文章底部Q哦 可远程调试 基于PHP在线编程课程学习系统 一 介绍 在线编程课程学习系统基于原生PHP开发&#xff0c;数据库mysql&#xff0c;前端jquery.js。系统角色分为学生&#xff0c;教师和管理员。(附带参考设计文档) 技术栈&#xff1a;phpmysqljquery.jsphps…

PyTorch_张量形状操作

搭建模型时&#xff0c;数据都是基于张量形式的表示&#xff0c;网络层与层之间很多都是以不同的shape的方式进行表现和运算。 对张量形状的操作&#xff0c;以便能够更好处理网络各层之间的数据连接。 reshape 函数的用法 reshape 函数可以再保证张量数据不变的前提下改变数…

大模型实践:图文解锁Ollama在个人笔记本上部署llm

使用在线模型服务时&#xff0c;我们常常需要支付API调用费用&#xff0c;这对于个人开发者或小型组织来说可能是一笔不小的开支。那么&#xff0c;有没有方法可以在本地免费使用这些强大的模型呢&#xff1f;答案是肯定的——Ollama就是这样一个工具。 当然如果是比较大的组织…

Python基本语法(lambda表达式)

lambda表达式 lambda的一般形式是在关键字lambda后面跟一个或多个参数&#xff0c;之后再紧跟一个 冒号&#xff0c;接下来是一个表达式。lambda是一个表达式&#xff0c;而不是一个语句&#xff0c;它能够出现 在Python语法不允许def出现的地方。作为表达式&#xff0c;lambd…

【MySQL数据库】用户管理

目录 1&#xff0c;用户信息 2&#xff0c;创建/删除/修改用户 3&#xff0c;数据库的权限 MySQL数据库安装完之后&#xff0c;我们最开始时使用的都是 root 用户&#xff0c;其它用户通常无法进行操作。因此&#xff0c;MySQL数据库需要对用户进行管理。 1&#xff0c;用户…

Python的ArcPy基于Excel表格对大量遥感影像批量重分类

本文介绍基于Python中的ArcPy模块&#xff0c;以Excel表格内的信息&#xff0c;对遥感影像加以重分类的方法。 首先&#xff0c;明确一下本文的需求。现有按照文章ArcPy批量将栅格文件的属性表导出为Excel表格的方法&#xff08;https://blog.csdn.net/zhebushibiaoshifu/artic…

LabVIEW 中VI Server导出 VI 配置

该 LabVIEW VI 展示了在 VI Server 中配置和执行 Exported VIs 的过程&#xff0c;实现对服务器端导出 VI 的远程调用与操作。 ​ 具体过程及模块说明 前期配置&#xff1a;需确保在 LabVIEW 的 “Tools> Options > VI Server > Protocols” 路径下&#xff0c;启用 …

论文阅读:2024 ACM SIGSAC Membership inference attacks against in-context learning

总目录 大模型安全相关研究&#xff1a;https://blog.csdn.net/WhiffeYF/article/details/142132328 Membership inference attacks against in-context learning https://arxiv.org/pdf/2409.01380 https://www.doubao.com/chat/4030440311895554 速览 这篇论文主要研究了…

从 Python 基础到 Django 实战 —— 数据类型驱动的 Web 开发之旅

主题简介&#xff1a; 本主题以 Python 基础数据类型为核心&#xff0c;结合 Django 框架的开发流程&#xff0c;系统讲解如何通过掌握数字、字符串、列表、元组、字典等基础类型&#xff0c;快速构建功能完善的 Web 应用。通过理论与实践结合&#xff0c;帮助学员从零基础 Py…

软考 系统架构设计师系列知识点之杂项集萃(53)

接前一篇文章&#xff1a;软考 系统架构设计师系列知识点之杂项集萃&#xff08;52&#xff09; 第85题 在静态测试中&#xff0c;主要是对程序代码进行静态分析。“数据初始化、赋值或引用过程中的异常”属于静态分析中的&#xff08;&#xff09;。 A. 控制流分析 B. 数据…

Raycaster光线投射

Raycaster光线投射 3D虚拟工厂在线体验 描述 光线投射Raycaster&#xff0c;用于进行raycasting&#xff08;光线投射&#xff09;。 光线投射用于进行鼠标拾取&#xff08;在三维空间中计算出鼠标移过了什么物体&#xff09;。 构造器 Raycaster( origin : Vector3, dire…

初识Linux —— git三板斧

版本控制器git 为了我们方便管理不同版本的文件&#xff0c;就有了版本控制器&#xff1b; 所谓的版本控制器&#xff0c;就是能够了解到一个文件的历史记录&#xff08;修改记录&#xff09;&#xff1b;简单来说就是记录每一次的改动和版本迭代的一个管理系统&#xff0c;同…

用哈希表封装出unordered_set/_map

前提&#xff1a; ①&#xff1a;本博客是对哈希表(开散列)进行封装&#xff0c;因为闭散列不优秀(与库保持一致) ②&#xff1a;哈希表封装出unordered_set/_map和红黑树封装出ste/map是大同小异的&#xff0c;可以先看下&#xff1a;用红黑树封装出set和map -CSDN博客 ③&…

情绪ABC——AI与思维模型【93】

一、定义 情绪ABC思维模型是一种心理学上的理论&#xff0c;它认为人们的情绪和行为反应&#xff08;C&#xff0c;Consequence&#xff09;并非直接由激发事件&#xff08;A&#xff0c;Activating event&#xff09;引起&#xff0c;而是由个体对激发事件的认知和评价所产生…

Unity URP RenderTexture优化(二):深度图优化

目录 前言&#xff1a; 一、定位深度信息 1.1&#xff1a;k_DepthStencilFormat 1.2&#xff1a;k_DepthBufferBits 1.3&#xff1a;_CameraDepthTexture精度与大小 1.4&#xff1a;_CameraDepthAttachment数量 二、全代码 前言&#xff1a; 在上一篇文章&#xff1a;Un…

【力扣刷题记录】hot100错题本(一)

1. 简单题 我的答案&#xff1a;时间复杂度过高&#xff1a;O(N^3) class Solution:def twoSum(self, nums: List[int], target: int) -> List[int]:for num in nums:if (target - num) in nums:#多余for i in range(len(nums)):if nums[i] num :for j in range(i1,len(nu…

线程池的线程数配置策略

目录 1. CPU密集型任务 2. IO密集型任务 3. 混合型任务 1. CPU密集型任务 特点&#xff1a;任务主要消耗CPU资源&#xff08;如计算、加密、压缩&#xff09;。 推荐线程数&#xff1a; 线程数 ≈ 物理核心数 1 / CPU - 1&#xff08;不知道哪个√&#xff09; 例如&#…

基于开源链动2+1模式AI智能名片S2B2C商城小程序的爆品力构建研究

摘要&#xff1a;在兴趣电商生态中&#xff0c;爆品力已成为品牌实现指数级增长的核心竞争力。本文以开源链动21模式AI智能名片S2B2C商城小程序为技术载体&#xff0c;结合抖音平台的内容传播特性&#xff0c;提出“需求挖掘-技术赋能-内容转化”三位一体的爆品力构建模型。通过…

photoshop学习笔记2

第一章 第01节-界面的重要性(学习方法) 第02节-文件的打开新建及储存 第03节-移动工具(图层概念) 学习目标&#xff1a; 1.了解图层概念 2.认识工具属性 3.掌握工具使用 图层的概念 移动工具 移动工具就是用来移动图层内容的。是否可以用来移动组…