linux终端连接wpa无线网,使用WPA Supplicant在Ubuntu 18.04/19.04上从终端连接到Wi-Fi的方法…

本文介绍使用wpa_supplicant从Ubuntu 18.04/19.04服务器/桌面上的命令行连接到Wi-Fi网络,在现代家庭无线网络中,通信使用WPA-PSK(预共享密钥)进行保护,而WPA-Enterprise则是为企业网络设计的,WPA-PSK也称为WPA-Personal,wpa_supplicant是WPA请求者组件的实现,无线LAN中的请求方是安装在最终用户计算机上的客户端软件,需要进行身份验证才能加入网络。

一、在Ubuntu 18.04/19.04上启用无线卡

首先,确保你的无线网卡已启用,可以使用rfkill:

sudo apt install rfkill

要检查无线网卡的状态,请运行:

rfkill list

6d7d20a865b8498f8ef49c4ed130e58d.png

然后使用以下命令扫描附近的网络,找到你的无线网络名称,用你自己的无线接口名称替换wlp4s0,ESSID是网络名称标识符:

sudo iwlist wlp4s0 scan | grep ESSID

2d223ceb5ce9cc2509d8a11cd2b98c4e.png

wpa_passphrase命令的输出将通过管道发送到tee,然后写入/etc/wpa_supplicant.conf文件,现在使用以下命令将无线卡连接到无线接入点:

sudo wpa_supplicant -c /etc/wpa_supplicant.conf -i wlp4s0

以下输出表明你的无线卡已成功连接到接入点:

Successfully initialized wpa_supplicant

wlp4s0: SME: Trying to authenticate with c5:4a:21:53:ac:eb (SSID=’LinuxBabe.Com Network’ freq=2437 MHz)

wlp4s0: Trying to associate with c5:4a:21:53:ac:eb (SSID=’LinuxBabe.Com Network’ freq=2437 MHz)

wlp4s0: Associated with c5:4a:21:53:ac:eb

wlp4s0: CTRL-EVENT-SUBNET-STATUS-UPDATE status=0

wlp4s0: WPA: Key negotiation completed with c5:4a:21:53:ac:eb [PTK=CCMP GTK=CCMP]

wlp4s0: CTRL-EVENT-CONNECTED – Connection to c5:4a:21:53:ac:eb completed [id=0 id_str=]

请注意,如果你使用的是Ubuntu桌面版,则需要使用以下命令停止网络管理器,否则在使用wpa_supplicant时会导致连接问题:

sudo systemctl stop NetworkManager

并通过执行以下命令在启动时禁用NeworkManager自动启动:

sudo systemctl disable NetworkManager

默认情况下,wpa_supplicant在前台运行,如果连接完成,则打开另一个终端窗口并运行:

iwconfig

你可以看到无线接口现在与接入点相关联:

99ed2fa4caed8dcb4e45a773ab1c0288.png

现在你可以访问Internet,要释放私有IP地址,请运行:

sudo dhclient wlp4s0 -r

附1:连接到隐藏的无线网络

如果你的无线路由器未广播ESSID,则需要在/etc/wpa_supplicant.conf文件中添加以下行:

scan_ssid=1

如下所示:

8325b41b789ebe7270aa7829c0a4b5e9.png

附2:启动时自动连接

要在引导时自动连接到无线网络,我们需要编辑wpa_supplicant.service文件,将文件从/lib/ systemd/system/目录复制到/etc/systemd/system/目录,然后编辑文件内容,因为我们不希望更新版本的wpa_supplicant覆盖我们的修改:

sudo cp /lib/systemd/system/wpa_supplicant.service /etc/systemd/system/wpa_supplicant.service

使用命令行文本编辑器(如Nano)编辑文件:

sudo nano /etc/systemd/system/wpa_supplicant.service

找到以下行:

ExecStart=/sbin/wpa_supplicant -u -s -O /run/wpa_supplicant

将其更改为以下内容,在这里,我们将配置文件和无线接口名称添加到ExecStart命令:

ExecStart=/sbin/wpa_supplicant -u -s -c /etc/wpa_supplicant.conf -i wlp4s0

保存并关闭文件(要在Nano文本编辑器中保存文件,请按Ctrl+O,然后按Enter确认,要退出,请按Ctrl+X),然后启用wpa_supplicant服务以在启动时启动:

sudo systemctl enable wpa_supplicant.service

我们还需要在启动时启动dhclient以从DHCP服务器获取私有IP地址,这可以通过为dhclient创建systemd服务单元来实现:

sudo nano /etc/systemd/system/dhclient.service

将以下文本放入文件中:

[Unit]

Description= DHCP Client

Before=network.target

After=wpa_supplicant.service

[Service]

Type=simple

ExecStart=/sbin/dhclient wlp4s0

[Install]

WantedBy=multi-user.target

保存并关闭文件,然后启用此服务:

sudo systemctl enable dhclient.service

至此,从命令行用WPU Supplicant连接到Ubuntu 18.04/19.04的Wi-Fi网络操作全部完成。

相关主题

文章知识点与官方知识档案匹配,可进一步学习相关知识CS入门技能树Linux入门初识Linux24804 人正在系统学习中 相关资源:翠雨方工作备忘录工具v2.31中文绿色版-其它代码类资源-CSDN文库

来源:袁廷翠09050082

声明:本站部分文章及图片转载于互联网,内容版权归原作者所有,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2021年4月1日
下一篇 2021年4月1日

相关推荐