如何从命令行连接到wifi?


18

我正在使用基于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请求者之后

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

iw wlan0 link 仍然返回 Not connected.

我该如何解决这个问题,下一步该怎么做?


可以使用扫描iwlist scan吗?
GAD3R

1
@ GAD3R是的,我可以
902383年

有些不同:所以我习惯了;ifup wlp1s0使网络ifdown wlp1s0畅通无阻。
乔治,

Answers:


23

我假设wpa_supplicantiw已安装。

  1. 要通过WLAN连接,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_supplicant不使用wpa_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 iface Your_interface
    

例:

nmcli d wifi connect MYSSID password 12345678 iface 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上的以下答案:通过iwd(适用于Linux的无线守护程序)从linux系统上的命令行连接到wifi

进一步阅读:

与wpa_cli连接

与wpa_passphrase连接

nmcli示例

Archlinux:iwd / iwctl


1
您的第一个解决方案与该教程中的解决方案完全一样,只是您自己创建了一个文件,就在那里使用了wpa_passphrase,但是通过nmcli连接解决了我的问题,谢谢
user902383 2016年

请为准系统的debian用户添加,需要将接口添加到,/etc/network/intefaces auto wlp1s0 iface wlp1s0 inet dhcp pre-up wpa_supplicant -i wlp1s0 -c /etc/wpa_supplicant.conf -B然后重新启动小盒子,它已经有ip ...
ndasusers,

我想知道是否有“ pseudogui”可用。当我设置盒子时,会看到选择以太网或wifi的信息。我选择了wifi,然后从列表中选择了SSID,如果需要dhcp或静态IP,则输入了加密,密码,然后网络工作完成了安装。为什么不适用于该设置的此设置复制到最终系统中?为什么所有这些诊所?
Lenne

1
nmtui在安装后不可用。必须上网才能获得gui上网是鸡与蛋的问题。我设法在安装过程中保存了/ target / etc / network / interfaces;安装后,将删除wifi线。
Lenne

1

要在Debian上安装wpa_supplicant,请输入

sudo apt install wpasupplicant

在终端。要创建wpa_supplicant.conf文件,请输入

echo 'network={ssid="nameOfYourWiFiNetwork" psk="thePassword"}' >> /etc/wpa_supplicant.conf

1
我认为OP是一个特定的问题,但这不是答案。
andreatsh

1
实际上,OP说:“ ...并且在运行带有有效网络详细信息的wpa请求方之后:
Jeff Schaller

他只是错过了dhclient的电话。
ychaouche
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.