CentOS 命令行下连接加密模式为 WPA/WPA2-PSK 的无线网络

记录了 CentOS 最小化安装后如何配置和连接无线网络,当时的情况是路由器使用的WEP加密方式,所以设置密码的时候可以直接使用明文密码。后来当把路由器的加密模式设置为 WPA/WPA2-PSK的时候,发现已经无法连接无线网络了,原因是当使用 WPA/WPA2-PSK 加密模式之后客户端不能直接发送明文密码,而是要使用加密之后的密码,既然我们知道了原因我们该怎么做呢?
首先我们要安装一个帮我们生成加密密码并配置网卡的工具包 wpa_supplicant

yum install -y wpa_supplicant

 
然后找到我们路由的 ESSID,比如我是 long,然后生成密码配置文件,

 

 

wpa_passphrase long 'my password'

 它会输出如下内容

 

 

network={
	ssid="long"
	#psk="my password"
	psk=350fb537ccec9b6de427eb4a43b7e02ae0492a59ce0a095ac6b527aef2c40f94
}

 

 

将输入的内容追加到 /etc/wpa_supplicant/wpa_supplicant.conf
或者直接执行

 

wpa_passphrase long 'my password' >> /etc/wpa_supplicant/wpa_supplicant.conf

 

 

再把其中 ssid= 和 psk= 加入到wlan0 的配置文件,或执行一下命令

 

wpa_passphrase long 'my password' | grep -v '{\|}' >> /etc/sysconfig/network-scripts/ifcfg-wlan0
echo 'WPA=yes' >> /etc/sysconfig/network-scripts/ifcfg-wlan0

 我的配置文件内容如下:

 

 

DEVICE=wlan0
TYPE=Ethernet
ONBOOT=yes
NM_CONTROLLED=yes
BOOTPROTO=static
IPADDR=192.168.1.5
NETMASK=255.255.255.0
GATEWAY=192.168.1.1
WPA=yes
SSID="long"
PSK=350fb537ccec9b6de427eb4a43b7e02ae0492a59ce0a095ac6b527aef2c40f94

 然后,我们可以启动网络设备

 

 

ifup wlan0

 

 

再启动 wpa_supplicant

 

 

wpa_supplicant -iwlan0 -B -c /etc/wpa_supplicant/wpa_supplicant.conf

 

 

我们需要随机启动的话,加入到 /etc/rc.local

cat >> /etc/rc.local<<EOF
wpa_supplicant -iwlan0 -B -c /etc/wpa_supplicant/wpa_supplicant.conf
EOF

 

 

 

 

 

 

==================================================================================

以上是来自网上的一篇文章

 

我的路由器的配置信息:

 

 无线的加密设置

/etc/sysconfig/network-scripts/ifcfg-wlan0文件的内容:

 

DEVICE=wlan0
HWADDR=84:A6:C8:E6:37:6E
TYPE=Ethernet
UUID=2393dafa-31ff-4a66-b00d-51af7ebfb9c1
ONBOOT=yes
NM_CONTROLLED=yes
BOOTPROTO=dhcp
WPA=yes
SSID="junjin.mai"
PSK=742af11ddda680defba6e1c2b20ea04529f20edf7972f869d613c651d9cb9335

 
 /etc/wpa_supplicant/wpa_supplicant.conf文件的内容

ctrl_interface=/var/run/wpa_supplicant
ctrl_interface_group=wheel
network={
        ssid="junjin.mai"
        proto=WPA2 
        key_mgmt=WPA-PSK #请无论你是使用WPA-PSK,WPA2-PSK,都请在这里输入 WPA-PSK。这在wpa_supplicant看来WPA-PSK,WPA2-PSK都是 WPA-PSK,改成WPA2-PSK,它会不认识
。
        pairwise=CCMP 
        #psk="junjin.mai123;"
        psk=742af11ddda680defba6e1c2b20ea04529f20edf7972f869d613c651d9cb9335
}

 /etc/rc.local文件的内容

 

#!/bin/sh
#
# This script will be executed *after* all the other init scripts.
# You can put your own initialization stuff in here if you don't
# want to do the full Sys V style init stuff.

touch /var/lock/subsys/local
wpa_supplicant -iwlan0 -B -c /etc/wpa_supplicant/wpa_supplicant.conf
ifup wlan0

 

<think> 我们正在解决如何通过命令行连接Wi-Fi网络的问题。根据用户要求和之前的引用,我们需要整理一个详细的步骤指南。 参考之前的引用,特别是引用[2]和[3],它们分别介绍了在CentOS 7和Ubuntu 16.04下通过命令行连接Wi-Fi的方法。 另外,引用[4]展示了OpenWrt下的配置,但用户的需求是连接Wi-Fi(作为客户端),而不是配置AP,所以我们主要参考[2]和[3]。 常用的工具是`nmcli`(NetworkManager的命令行工具)和`iw`/`wpa_supplicant`(更底层的工具)。由于`nmcli`较为普及且易用,我们以它为主。 步骤: 1. 检查无线网卡设备是否存在且启用。 2. 扫描可用的Wi-Fi网络。 3. 连接到一个已知的Wi-Fi网络(需要SSID和密码)。 4. 可选:配置静态IP地址(用户之前的问题中提到了配置静态IP,但当前问题主要是连接,所以作为可选步骤)。 我们将提供两种主要方法: 方法一:使用`nmcli`(适用于大多数支持NetworkManager的发行版,如Ubuntu, CentOS, Fedora等) 方法二:使用`wpa_supplicant`配合`dhclient`(适用于不使用NetworkManager的系统) 注意:用户可能需要root权限。 同时,我们会考虑不同发行版的差异,并给出示例。 根据引用[3]:在Ubuntu中,可以使用`sudo nmcli dev wifi connect 'eduroam' password '12345678' iface wlp3s0` 根据引用[2]:在CentOS 7中,步骤类似,但需要先确保NetworkManager服务运行。 我们还应该包括: - 如何启用/禁用无线接口 - 如何查看连接状态 另外,用户之前的问题中提到了接口名`wlp1s0`,所以在示例中会使用这个接口名。 最后,我们会生成相关问题。 结构: 一、准备工作 1. 检查无线网卡状态 2. 确保NetworkManager服务运行(如果使用nmcli) 二、使用nmcli连接Wi-Fi(推荐) 1. 扫描网络 2. 连接网络(两种方式:已知SSID和密码直接连接;交互式选择) 3. 验证连接 三、使用wpa_supplicant连接Wi-Fi(备选方法) 1. 配置wpa_supplicant.conf文件 2. 启动wpa_supplicant 3. 获取IP地址 四、常见问题处理 五、扩展命令:查看连接、断开连接等 六、生成相关问题 </think> ### 命令行连接 Wi-Fi 网络完整指南 以下是基于不同 Linux 发行版的命令行连接方法,整合了 `nmcli`、`iw` 和 `wpa_supplicant` 三种主流工具: --- #### 一、通用方法(推荐 `nmcli`) **适用系统**:Ubuntu/Debian/CentOS/Fedora 等支持 NetworkManager 的发行版 ```bash # 1. 扫描可用网络 sudo nmcli dev wifi list # 2. 连接开放网络(无密码) sudo nmcli dev wifi connect "SSID名称" ifname wlp1s0 # 3. 连接加密网络(WPA/WPA2) sudo nmcli dev wifi connect "SSID名称" password "密码" ifname wlp1s0 # 4. 验证连接状态 nmcli connection show ``` **输出示例**: ```bash SSID MODE CHAN RATE SIGNAL BARS SECURITY HomeWiFi Infra 6 540 Mbit/s 92 ▂▄▆█ WPA2 ``` > 📌 参数说明: > - `ifname wlp1s0`:指定无线接口(根据 `ip link` 结果调整) > - 连接成功后自动获取 DHCP 地址[^3] --- #### 二、底层工具方法(`wpa_supplicant` + `dhclient`) **适用系统**:无 NetworkManager 的服务器/嵌入式设备(如树莓派) ```bash # 1. 生成加密配置文件 wpa_passphrase "SSID名称" "密码" | sudo tee /etc/wpa_supplicant.conf >/dev/null # 2. 启动连接(后台运行) sudo wpa_supplicant -B -i wlp1s0 -c /etc/wpa_supplicant.conf -D wext # 3. 获取 IP 地址 sudo dhclient wlp1s0 # 4. 验证连接 iw dev wlp1s0 link # 查看链路状态 ip a show dev wlp1s0 # 查看 IP 地址 ``` **配置文件示例**: ```bash network={ ssid="HomeWiFi" psk=5e1f456a0d10a5c0a3c8d7e7c6f9a4d0 # 自动生成的加密密钥 } ``` --- #### 三、特殊场景处理 1. **隐藏 SSID 网络连接** ```bash sudo nmcli con add type wifi con-name "MyHiddenWiFi" ssid "隐藏SSID" \ ifname wlp1s0 wifi-sec.key-mgmt wpa-psk wifi-sec.psk "密码" sudo nmcli con up "MyHiddenWiFi" ``` 2. **企业级认证网络(如 eduroam)** ```bash sudo nmcli dev wifi connect "eduroam" password "12345678" \ ifname wlp1s0 wifi-sec.key-mgmt wpa-eap wifi-sec.eap peap \ wifi-sec.identity "学号" wifi-sec.phase2-auth mschapv2 ``` 3. **驱动问题处理** ```bash # 查看可用驱动模块 ls /lib/modules/$(uname -r)/kernel/drivers/net/wireless # 加载驱动(示例为 Intel 无线网卡) sudo modprobe iwlwifi ``` --- #### 四、连接状态诊断 | 命令 | 用途 | |------|------| | `iw dev wlp1s0 link` | 查看无线链路质量与接入点 | | `nmcli dev wifi rescan` | 强制刷新网络列表 | | `journalctl -u NetworkManager` | 查看连接错误日志 | | `sudo rfkill list` | 检查硬件开关锁定状态 | > ️ **常见问题**: > - 无输出:确认网卡驱动已加载 (`lsmod | grep iwlwifi`) > - 认证失败:检查 Wi-Fi 加密类型 (`WEP/WPA/WPA2/WPA3`)[^2] > - 频繁断开:尝试关闭电源管理 `iwconfig wlp1s0 power off` --- #### 五、永久配置(OpenWrt 示例) ```bash # 编辑无线配置 vi /etc/config/wireless # 添加客户端配置 config wifi-iface 'sta' option device 'radio0' option mode 'sta' option ssid 'HomeWiFi' option encryption 'psk2' option key '密码' option network 'wan' # 重启网络 /etc/init.d/network restart ``` > 适用于路由器/嵌入式设备的持久化配置[^4]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值