admin管理员组

文章数量:1027513

如何在 CentOS 7 命令行连接 Wi

如何在 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. 前提检查
  • 确保无线网卡已安装并被系统识别
代码语言:javascript代码运行次数:0运行复制
ip link show
# 或者
nmcli device status

如果你看到有 wlan0 或类似的无线设备状态为 disconnected,说明系统已识别。

  • 开启 NetworkManager 服务
代码语言:javascript代码运行次数:0运行复制
systemctl start NetworkManager
systemctl enable NetworkManager
2. 使用 nmcli 命令连接 Wi-Fi
步骤一:打开无线功能
代码语言:javascript代码运行次数:0运行复制
nmcli radio wifi on

解释: radio wifi on 表示打开无线功能,相当于桌面版的“打开 Wi-Fi 开关”。

步骤二:查看可用 Wi-Fi 列表
代码语言:javascript代码运行次数:0运行复制
nmcli dev wifi list

解释: 扫描并列出当前无线网卡探测到的 Wi-Fi 网络。

步骤三:连接 Wi-Fi 网络
代码语言:javascript代码运行次数:0运行复制
nmcli dev wifi connect "你的WiFi名称" password "你的密码"

例如:

代码语言:javascript代码运行次数:0运行复制
nmcli dev wifi connect "MyHomeWiFi" password "12345678"

解释:

  • connect:发起连接
  • "你的WiFi名称":SSID(网络名称)
  • password:对应网络的密码

连接成功后,系统会自动保存该配置,之后重启也能自动连接。

3. 使用 nmtui 图形化命令界面(适合新手)
代码语言:javascript代码运行次数:0运行复制
nmtui

进入后用键盘选择:

  • Activate a connection
  • 找到你的无线网络 → 回车 → 输入密码 → 完成连接

这种方式对不熟悉命令行的用户很友好。


二、10 多种 Linux 发行版连接 Wi-Fi 方法

1. Ubuntu / Debian 系
方法一:使用 nmcli
代码语言:javascript代码运行次数:0运行复制
nmcli device wifi list
nmcli device wifi connect "SSID" password "密码"
方法二:使用 wpa_supplicant(适合服务器版)
代码语言:javascript代码运行次数:0运行复制
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。

代码语言:javascript代码运行次数:0运行复制
ip link set wlan0 up

启用无线网卡 wlan0。如果你不知道接口名,可用 ip link 查看。

代码语言:javascript代码运行次数:0运行复制
iw wlan0 scan | less

扫描附近所有 Wi-Fi 热点,并用 less 分页显示,查找目标 Wi-Fi 的 SSID(名称)。

代码语言:javascript代码运行次数:0运行复制
wpa_passphrase "你的SSID" "你的密码" > wpa.conf

根据输入的 Wi-Fi 名称和密码生成加密配置文件 wpa.conf

代码语言:javascript代码运行次数:0运行复制
wpa_supplicant -B -i wlan0 -c wpa.conf

后台(-B)使用 wpa_supplicant 启动 Wi-Fi 连接。

代码语言:javascript代码运行次数:0运行复制
dhcpcd wlan0

使用 DHCP 客户端自动从路由器获取 IP 地址。


3. Fedora(推荐使用 nmcli)

Fedora 默认启用 NetworkManager,可用 nmcli 命令管理网络。

代码语言:javascript代码运行次数:0运行复制
nmcli dev wifi list

扫描可用 Wi-Fi 网络。

代码语言:javascript代码运行次数:0运行复制
nmcli dev wifi connect "你的SSID" password "你的密码"

直接发起连接,系统会保存配置供后续自动连接。


4. Alpine Linux(轻量发行版)

Alpine 默认不带网络工具,需要先安装。

代码语言:javascript代码运行次数:0运行复制
apk add wpa_supplicant wireless-tools

安装无线连接所需工具。

代码语言:javascript代码运行次数:0运行复制
iw dev wlan0 scan

使用 iw 工具扫描 Wi-Fi 热点。

代码语言:javascript代码运行次数:0运行复制
wpa_passphrase "SSID" "密码" > /etc/wpa_supplicant/wpa_supplicant.conf

生成连接配置并保存到系统配置文件中。

代码语言:javascript代码运行次数:0运行复制
wpa_supplicant -B -i wlan0 -c /etc/wpa_supplicant/wpa_supplicant.conf

启动连接进程。

代码语言:javascript代码运行次数:0运行复制
udhcpc -i wlan0

Alpine 常用的 DHCP 客户端,自动获取 IP。


5. Kali Linux

Kali 也是基于 Debian 的系统,支持 nmcli

代码语言:javascript代码运行次数:0运行复制
nmcli device wifi connect "SSID" password "password"

一条命令完成连接。


6. OpenSUSE

同样使用 NetworkManager。

代码语言:javascript代码运行次数:0运行复制
nmcli device wifi list
nmcli device wifi connect "SSID" password "password"

7. Gentoo Linux

Gentoo 灵活但需手动配置:

代码语言:javascript代码运行次数:0运行复制
iwconfig wlan0 essid "SSID"

设置无线接口连接到指定的 SSID。

代码语言:javascript代码运行次数:0运行复制
wpa_supplicant -B -i wlan0 -c <(wpa_passphrase "SSID" "密码")

启动连接(不保存到文件,直接传入配置)。

代码语言:javascript代码运行次数:0运行复制
dhcpcd wlan0

获取 IP 地址。


8. Void Linux
代码语言:javascript代码运行次数:0运行复制
xbps-install -S wpa_supplicant dhcpcd

安装 Wi-Fi 连接必备工具。

代码语言:javascript代码运行次数:0运行复制
wpa_passphrase "SSID" "密码" > /etc/wpa_supplicant.conf
wpa_supplicant -B -i wlan0 -c /etc/wpa_supplicant.conf
dhcpcd wlan0

9. Slackware

Slackware 没有现代化管理器,需要手动设置。

代码语言:javascript代码运行次数:0运行复制
iwconfig wlan0 essid "SSID" key s:密码

设置网络名称与密码(仅支持 WEP 或明文密码)。

代码语言:javascript代码运行次数:0运行复制
dhcpcd wlan0

启动 DHCP 获取地址。


10. Raspberry Pi OS Lite(适合树莓派无桌面环境)
代码语言:javascript代码运行次数:0运行复制
sudo nano /etc/wpa_supplicant/wpa_supplicant.conf

添加配置如下:

代码语言:javascript代码运行次数:0运行复制
ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev
update_config=1
country=CN

network={
    ssid="YourSSID"
    psk="YourPassword"
}

保存后执行:

代码语言:javascript代码运行次数:0运行复制
sudo wpa_cli -i wlan0 reconfigure

重载 Wi-Fi 配置文件,立即连接网络。


11. Parrot OS
代码语言:javascript代码运行次数:0运行复制
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 脚本可实现无人值守联网;
  • 特殊网络需求:更容易手动控制路由、加密、代理等参数。

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

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。 原始发表:2025-05-03,如有侵权请联系 cloudcommunity@tencent 删除linuxcentos连接命令行配置

如何在 CentOS 7 命令行连接 Wi

如何在 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. 前提检查
  • 确保无线网卡已安装并被系统识别
代码语言:javascript代码运行次数:0运行复制
ip link show
# 或者
nmcli device status

如果你看到有 wlan0 或类似的无线设备状态为 disconnected,说明系统已识别。

  • 开启 NetworkManager 服务
代码语言:javascript代码运行次数:0运行复制
systemctl start NetworkManager
systemctl enable NetworkManager
2. 使用 nmcli 命令连接 Wi-Fi
步骤一:打开无线功能
代码语言:javascript代码运行次数:0运行复制
nmcli radio wifi on

解释: radio wifi on 表示打开无线功能,相当于桌面版的“打开 Wi-Fi 开关”。

步骤二:查看可用 Wi-Fi 列表
代码语言:javascript代码运行次数:0运行复制
nmcli dev wifi list

解释: 扫描并列出当前无线网卡探测到的 Wi-Fi 网络。

步骤三:连接 Wi-Fi 网络
代码语言:javascript代码运行次数:0运行复制
nmcli dev wifi connect "你的WiFi名称" password "你的密码"

例如:

代码语言:javascript代码运行次数:0运行复制
nmcli dev wifi connect "MyHomeWiFi" password "12345678"

解释:

  • connect:发起连接
  • "你的WiFi名称":SSID(网络名称)
  • password:对应网络的密码

连接成功后,系统会自动保存该配置,之后重启也能自动连接。

3. 使用 nmtui 图形化命令界面(适合新手)
代码语言:javascript代码运行次数:0运行复制
nmtui

进入后用键盘选择:

  • Activate a connection
  • 找到你的无线网络 → 回车 → 输入密码 → 完成连接

这种方式对不熟悉命令行的用户很友好。


二、10 多种 Linux 发行版连接 Wi-Fi 方法

1. Ubuntu / Debian 系
方法一:使用 nmcli
代码语言:javascript代码运行次数:0运行复制
nmcli device wifi list
nmcli device wifi connect "SSID" password "密码"
方法二:使用 wpa_supplicant(适合服务器版)
代码语言:javascript代码运行次数:0运行复制
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。

代码语言:javascript代码运行次数:0运行复制
ip link set wlan0 up

启用无线网卡 wlan0。如果你不知道接口名,可用 ip link 查看。

代码语言:javascript代码运行次数:0运行复制
iw wlan0 scan | less

扫描附近所有 Wi-Fi 热点,并用 less 分页显示,查找目标 Wi-Fi 的 SSID(名称)。

代码语言:javascript代码运行次数:0运行复制
wpa_passphrase "你的SSID" "你的密码" > wpa.conf

根据输入的 Wi-Fi 名称和密码生成加密配置文件 wpa.conf

代码语言:javascript代码运行次数:0运行复制
wpa_supplicant -B -i wlan0 -c wpa.conf

后台(-B)使用 wpa_supplicant 启动 Wi-Fi 连接。

代码语言:javascript代码运行次数:0运行复制
dhcpcd wlan0

使用 DHCP 客户端自动从路由器获取 IP 地址。


3. Fedora(推荐使用 nmcli)

Fedora 默认启用 NetworkManager,可用 nmcli 命令管理网络。

代码语言:javascript代码运行次数:0运行复制
nmcli dev wifi list

扫描可用 Wi-Fi 网络。

代码语言:javascript代码运行次数:0运行复制
nmcli dev wifi connect "你的SSID" password "你的密码"

直接发起连接,系统会保存配置供后续自动连接。


4. Alpine Linux(轻量发行版)

Alpine 默认不带网络工具,需要先安装。

代码语言:javascript代码运行次数:0运行复制
apk add wpa_supplicant wireless-tools

安装无线连接所需工具。

代码语言:javascript代码运行次数:0运行复制
iw dev wlan0 scan

使用 iw 工具扫描 Wi-Fi 热点。

代码语言:javascript代码运行次数:0运行复制
wpa_passphrase "SSID" "密码" > /etc/wpa_supplicant/wpa_supplicant.conf

生成连接配置并保存到系统配置文件中。

代码语言:javascript代码运行次数:0运行复制
wpa_supplicant -B -i wlan0 -c /etc/wpa_supplicant/wpa_supplicant.conf

启动连接进程。

代码语言:javascript代码运行次数:0运行复制
udhcpc -i wlan0

Alpine 常用的 DHCP 客户端,自动获取 IP。


5. Kali Linux

Kali 也是基于 Debian 的系统,支持 nmcli

代码语言:javascript代码运行次数:0运行复制
nmcli device wifi connect "SSID" password "password"

一条命令完成连接。


6. OpenSUSE

同样使用 NetworkManager。

代码语言:javascript代码运行次数:0运行复制
nmcli device wifi list
nmcli device wifi connect "SSID" password "password"

7. Gentoo Linux

Gentoo 灵活但需手动配置:

代码语言:javascript代码运行次数:0运行复制
iwconfig wlan0 essid "SSID"

设置无线接口连接到指定的 SSID。

代码语言:javascript代码运行次数:0运行复制
wpa_supplicant -B -i wlan0 -c <(wpa_passphrase "SSID" "密码")

启动连接(不保存到文件,直接传入配置)。

代码语言:javascript代码运行次数:0运行复制
dhcpcd wlan0

获取 IP 地址。


8. Void Linux
代码语言:javascript代码运行次数:0运行复制
xbps-install -S wpa_supplicant dhcpcd

安装 Wi-Fi 连接必备工具。

代码语言:javascript代码运行次数:0运行复制
wpa_passphrase "SSID" "密码" > /etc/wpa_supplicant.conf
wpa_supplicant -B -i wlan0 -c /etc/wpa_supplicant.conf
dhcpcd wlan0

9. Slackware

Slackware 没有现代化管理器,需要手动设置。

代码语言:javascript代码运行次数:0运行复制
iwconfig wlan0 essid "SSID" key s:密码

设置网络名称与密码(仅支持 WEP 或明文密码)。

代码语言:javascript代码运行次数:0运行复制
dhcpcd wlan0

启动 DHCP 获取地址。


10. Raspberry Pi OS Lite(适合树莓派无桌面环境)
代码语言:javascript代码运行次数:0运行复制
sudo nano /etc/wpa_supplicant/wpa_supplicant.conf

添加配置如下:

代码语言:javascript代码运行次数:0运行复制
ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev
update_config=1
country=CN

network={
    ssid="YourSSID"
    psk="YourPassword"
}

保存后执行:

代码语言:javascript代码运行次数:0运行复制
sudo wpa_cli -i wlan0 reconfigure

重载 Wi-Fi 配置文件,立即连接网络。


11. Parrot OS
代码语言:javascript代码运行次数:0运行复制
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 脚本可实现无人值守联网;
  • 特殊网络需求:更容易手动控制路由、加密、代理等参数。

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

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。 原始发表:2025-05-03,如有侵权请联系 cloudcommunity@tencent 删除linuxcentos连接命令行配置

本文标签: 如何在 CentOS 7 命令行连接 Wi