Debian

如何從命令行連接到wifi?

  • March 13, 2021

我正在使用最新版本的基於 Debian 的 Linux Kali。也許這是一個XY 問題,因為主要問題是在我登錄系統後我得到一個空白螢幕和滑鼠指針。網上有人建議我更換視窗管理器。

但我無法做到這一點,因為我無法連接到 wifi。

我在這裡找到瞭如何做到這一點的教程

我試著一步一步地去做,但它對我不起作用。在作者寫的那個教程中,我需要使用命令ip link set wlan0 ip來調出 wifi 界面。在他的範例中,輸出如下所示:

root@kali:~# ip link show w
lan0 4: wlan0: <BROADCAST,MULTICAST> mtu 1500 qdisc mq state DOWN mode DORMANT qlen 1000
 link/ether 00:60:64:37:4a:30 brd ff:ff:ff:ff:ff:ff

root@kali:~# ip link set wlan0 up

root@kali:~# ip link show wlan0
4: wlan0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP mode DORMANT qlen 1000
   link/ether 00:60:64:37:4a:30 brd ff:ff:ff:ff:ff:ff

另一方面,當我打電話時:

  ip link set wlan0 up
  ip link show wlan0

我得到:

 4: wlan0: <NO_CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc mq state DOWN mode DORMANT qlen 1000
  link/ether 00:60:64:37:4a:30 brd ff:ff:ff:ff:ff:ff

並在使用有效的網路詳細資訊執行 wpa supplicant 之後

wpa_supplicant -B -D wext -i wlan0 -c /etc/wpa_supplicant.conf

iw wlan0 link仍然返回Not connected.

我該如何解決這個問題,接下來我該怎麼做?

我假設wpa_supplicantiw已安裝。

  1. 要通過您連接到wifi,wpa_supplicant 您需要創建一個wpa_supplicant.conf文件
nano /etc/wpa_supplicant.conf

使用以下幾行:

network={
        ssid="wifi_name"
        psk="wifi_key"
}

或者您可以使用wpa_passphrase創建配置文件(複製和過去):

wpa_passphrase "Your_SSID" Your_passwd 

wpa_supplicant.conf您也可以直接通過以下方式編寫:

wpa_passphrase "Your_SSID" Your_passwd > /etc/wpa_supplicant.conf

要連接,請鍵入以下命令:

sudo ip link set wlan0 down
sudo ip link set wlan0 up
sudo wpa_supplicant -B -iwlan0 -c /etc/wpa_supplicant.conf -Dnl80211,wext
sudo dhclient wlan0

注意:選項中的多個逗號分隔的驅動程序包裝-Dnl80211,wext器使 wpa_supplicant 使用能夠初始化介面的第一個驅動程序包裝器(請參閱 wpa_supplicant(8))。這在使用使用不同驅動程序的多個或可移動(例如 USB)無線設備時很有用。

您可以通過wpa_supplicantwpa_supplicant.conf文件連接:

wpa_supplicant -B -i wlan0 -c <(wpa_passphrase "Your_SSID" Your_passphrase) && dhclient wlan0

您可以訪問Arch-linux 的官方文件 以獲取有關配置文件和參數的更多資訊。

  1. 你可以通過連接nmcli
nmcli d wifi connect Your_SSID password Your_Psswd_here ifname Your_interface

例子:

nmcli d wifi connect MYSSID password 12345678 ifname wlan0
  1. 您也可以通過以下方式連接wpa_cli

打開終端並輸入wpa_cli

要掃描,請鍵入:

scan
scan_results

創建網路:

add_network

這將輸出一個數字,即網路ID,例如0 接下來,我們需要為網路設置SSID和PSK。

set_network 0 ssid "SSID_here"
set_network 0 psk "Passphrase_here"

無線連接後,它應該會自動獲得一個 IP 地址。如果沒有,您可以執行dhclient以通過 DHCP 獲取 IP 地址。

dhclient命令可以替換為 2 個ip命令:

ip addr add IP-ADDRESSE/24 dev wlan0
ip route add default via ROUTE
  1. iwctl命令行工具。

iwd 軟體包提供iwctl命令行工具。預設情況下不安裝該軟體包。為避免任何衝突,wpasupplicant.service應停止/禁用。

有關更多詳細資訊,請參閱 U&L 上的此答案:Connect to wifi from command line on linux systems through the iwd (wireless daemon for linux)

進一步閱讀:

與 wpa_cli 連接

與 wpa_passphrase 連接

nmcli 範例

Archlinux:iwd/iwctl

引用自:https://unix.stackexchange.com/questions/283722