首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何从命令行连接到wifi?

如何从命令行连接到wifi?
EN

Unix & Linux用户
提问于 2016-05-17 16:59:00
回答 2查看 235.1K关注 0票数 34

我正在使用基于Debian的最新版本的Linux。可能是XY问题,因为主要的问题是在登录到系统后,我得到一个空白的屏幕和鼠标指针。网上有人建议我更换窗口管理器。

但我无法做到这一点,因为我无法连接到无线网络。

我找到了如何做这个这里的教程

我试着一步一步地做,但对我来说不管用。在该教程中,作者写道,我需要使用命令ip link set wlan0 ip来打开wifi接口。在他的示例中,输出如下所示:

代码语言:javascript
运行
复制
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

另一方面,当我打电话时:

代码语言:javascript
运行
复制
   ip link set wlan0 up
   ip link show wlan0

我得到:

代码语言:javascript
运行
复制
  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请求者之后,提供有效的网络详细信息。

代码语言:javascript
运行
复制
wpa_supplicant -B -D wext -i wlan0 -c /etc/wpa_supplicant.conf

iw wlan0 link仍然返回Not connected.

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

EN

回答 2

Unix & Linux用户

回答已采纳

发布于 2016-05-17 19:11:36

我假设安装了wpa_supplicantiw

  1. 要通过wpa_supplicant连接wifi,您需要创建一个wpa_supplicant.conf文件nano /etc/wpa_supplicant.conf,行如下: network={ ssid="wifi_name“psk="wifi_key”}

也可以使用wpa_passphrase创建配置文件(复制和过去):

代码语言:javascript
运行
复制
wpa_passphrase "Your_SSID" Your_passwd 

此外,您还可以通过以下方式直接编写wpa_supplicant.conf

代码语言:javascript
运行
复制
wpa_passphrase "Your_SSID" Your_passwd > /etc/wpa_supplicant.conf

若要连接,请键入以下命令:

代码语言:javascript
运行
复制
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连接:

代码语言:javascript
运行
复制
wpa_supplicant -B -i wlan0 -c <(wpa_passphrase "Your_SSID" Your_passphrase) && dhclient wlan0

您可以访问官方的Arch-linux文档来获取有关配置文件和参数的更多信息。

  1. 您可以通过nmcli nmcli d wifi连接Your_SSID密码Your_Psswd_here ifname Your_interface进行连接。

示例:

代码语言:javascript
运行
复制
nmcli d wifi connect MYSSID password 12345678 ifname wlan0
  1. 您还可以通过wpa_cli进行连接:

打开终端并键入wpa_cli

若要扫描,请键入:

代码语言:javascript
运行
复制
scan
scan_results

创建一个网络:

代码语言:javascript
运行
复制
add_network

这将输出一个数字,即网络ID,例如0下一步,我们需要为网络设置SSID和PSK。

代码语言:javascript
运行
复制
set_network 0 ssid "SSID_here"
set_network 0 psk "Passphrase_here"

一旦无线连接,它应该自动获得一个IP地址。如果没有,您可以运行dhclient来通过DHCP获得IP地址。

可以将dhclient命令替换为2个ip命令:

代码语言:javascript
运行
复制
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连接_密码酶

nmcli示例

Archlinux: iwd/iwctl

票数 41
EN

Unix & Linux用户

发布于 2017-01-05 21:59:36

若要在Debian上安装wpa_supplicant,请键入

代码语言:javascript
运行
复制
sudo apt install wpasupplicant

在终点站。要创建wpa_supplicant.conf文件,输入

代码语言:javascript
运行
复制
echo 'network={ssid="nameOfYourWiFiNetwork" psk="thePassword"}' >> /etc/wpa_supplicant.conf
票数 3
EN
页面原文内容由Unix & Linux提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://unix.stackexchange.com/questions/283722

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档