使用WPA Supplicant在Ubuntu 18.04/19.04上从终端连接到Wi-Fi的方法
使用WPA Supplicant在Ubuntu 18.04/19.04上從終端連接到Wi-Fi的方法_Linux教程_云網(wǎng)牛站 (ywnz.com)
本文介紹使用wpa_supplicant從Ubuntu 18.04/19.04服務(wù)器/桌面上的命令行連接到Wi-Fi網(wǎng)絡(luò),在現(xiàn)代家庭無線網(wǎng)絡(luò)中,通信使用WPA-PSK(預(yù)共享密鑰)進(jìn)行保護(hù),而WPA-Enterprise則是為企業(yè)網(wǎng)絡(luò)設(shè)計(jì)的,WPA-PSK也稱為WPA-Personal,wpa_supplicant是WPA請求者組件的實(shí)現(xiàn),無線LAN中的請求方是安裝在最終用戶計(jì)算機(jī)上的客戶端軟件,需要進(jìn)行身份驗(yàn)證才能加入網(wǎng)絡(luò)。
一、在Ubuntu 18.04/19.04上啟用無線卡
首先,確保你的無線網(wǎng)卡已啟用,可以使用rfkill:
sudo apt install rfkill
要檢查無線網(wǎng)卡的狀態(tài),請運(yùn)行:
rfkill list
如你所見,我的無線卡被軟件阻止,這意味著我的Ubuntu OS上禁用了無線功能,要取消阻止它,請使用以下命令:
rfkill unblock wifi
二、找到無線接口和無線網(wǎng)絡(luò)的名稱
運(yùn)行iwconfig命令以查找無線接口的名稱。
iwconfig
wlan0曾經(jīng)是沒有Systemd的Linux系統(tǒng)上無線網(wǎng)絡(luò)接口的通用名稱,因?yàn)閁buntu使用Systemd(參考:Systemd入門教程),所以你會發(fā)現(xiàn)你的無線網(wǎng)絡(luò)接口的名稱類似于wlp4s0,還可以看到它現(xiàn)在與任何接入點(diǎn)都沒有關(guān)聯(lián):
然后使用以下命令掃描附近的網(wǎng)絡(luò),找到你的無線網(wǎng)絡(luò)名稱,用你自己的無線接口名稱替換wlp4s0,ESSID是網(wǎng)絡(luò)名稱標(biāo)識符:
sudo iwlist wlp4s0 scan | grep ESSID
三、使用WPA_Supplicant連接到Wi-Fi網(wǎng)絡(luò)
現(xiàn)在從默認(rèn)軟件存儲庫在Ubuntu 18.04/19.04上安裝wpa_supplicant:
sudo apt install wpasupplicant
我們需要使用wpa_passphrase實(shí)用程序創(chuàng)建一個(gè)名為wpa_supplicant.conf的文件,wpa_supplicant.conf是描述用戶希望計(jì)算機(jī)連接到的所有網(wǎng)絡(luò)的配置文件,運(yùn)行以下命令以創(chuàng)建此文件,請注意用你自己的密碼替換ESSID和Wi-Fi密碼:
wpa_passphrase your-ESSID your-wifi-passphrase | sudo tee /etc/wpa_supplicant.conf
wpa_passphrase命令的輸出將通過管道發(fā)送到tee,然后寫入/etc/wpa_supplicant.conf文件,現(xiàn)在使用以下命令將無線卡連接到無線接入點(diǎn):
sudo wpa_supplicant -c /etc/wpa_supplicant.conf -i wlp4s0
以下輸出表明你的無線卡已成功連接到接入點(diǎn):
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桌面版,則需要使用以下命令停止網(wǎng)絡(luò)管理器,否則在使用wpa_supplicant時(shí)會導(dǎo)致連接問題:
sudo systemctl stop NetworkManager
知識擴(kuò)展:使用NetworkManager隨機(jī)化MAC地址的方法。
并通過執(zhí)行以下命令在啟動時(shí)禁用NeworkManager自動啟動:
sudo systemctl disable NetworkManager
默認(rèn)情況下,wpa_supplicant在前臺運(yùn)行,如果連接完成,則打開另一個(gè)終端窗口并運(yùn)行:
iwconfig
你可以看到無線接口現(xiàn)在與接入點(diǎn)相關(guān)聯(lián):
你可以按CTRL+C來停止當(dāng)前的wpa_supplicant進(jìn)程并通過添加-B選項(xiàng)在后臺運(yùn)行它:
sudo wpa_supplicant -B -c /etc/wpa_supplicant.conf -i wlp4s0
雖然我們已經(jīng)過身份驗(yàn)證并連接到無線網(wǎng)絡(luò),但我們還沒有IP地址,要從DHCP服務(wù)器獲取專用IP地址,請使用以下命令:
sudo dhclient wlp4s0
現(xiàn)在你的無線接口有一個(gè)私有IP地址,可以顯示如下:
ip addr show wlp4s0
現(xiàn)在你可以訪問Internet,要釋放私有IP地址,請運(yùn)行:
sudo dhclient wlp4s0 -r
附1:連接到隱藏的無線網(wǎng)絡(luò)
如果你的無線路由器未廣播ESSID,則需要在/etc/wpa_supplicant.conf文件中添加以下行:
scan_ssid=1
如下所示:
附2:啟動時(shí)自動連接
要在引導(dǎo)時(shí)自動連接到無線網(wǎng)絡(luò),我們需要編輯wpa_supplicant.service文件,將文件從/lib/ systemd/system/目錄復(fù)制到/etc/systemd/system/目錄,然后編輯文件內(nèi)容,因?yàn)槲覀儾幌M掳姹镜膚pa_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
將其更改為以下內(nèi)容,在這里,我們將配置文件和無線接口名稱添加到ExecStart命令:
ExecStart=/sbin/wpa_supplicant -u -s -c /etc/wpa_supplicant.conf -i wlp4s0
保存并關(guān)閉文件(要在Nano文本編輯器中保存文件,請按Ctrl+O,然后按Enter確認(rèn),要退出,請按Ctrl+X),然后啟用wpa_supplicant服務(wù)以在啟動時(shí)啟動:
sudo systemctl enable wpa_supplicant.service
我們還需要在啟動時(shí)啟動dhclient以從DHCP服務(wù)器獲取私有IP地址,這可以通過為dhclient創(chuàng)建systemd服務(wù)單元來實(shí)現(xiàn):
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
保存并關(guān)閉文件,然后啟用此服務(wù):
sudo systemctl enable dhclient.service
至此,從命令行用WPU Supplicant連接到Ubuntu 18.04/19.04的Wi-Fi網(wǎng)絡(luò)操作全部完成。
總結(jié)
以上是生活随笔為你收集整理的使用WPA Supplicant在Ubuntu 18.04/19.04上从终端连接到Wi-Fi的方法的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: TX2下编译qt程序步骤
- 下一篇: rk3288 android4.4,ub