首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >通过iwd ( linux无线守护进程)从linux系统的命令行连接wifi。

通过iwd ( linux无线守护进程)从linux系统的命令行连接wifi。
EN

Unix & Linux用户
提问于 2018-10-24 11:33:35
回答 1查看 36.9K关注 0票数 7

iwd是英特尔发布的最新的linux无线守护进程,也是wpasupplicant的后继者。iwd的开发还在进展中,但是它是在一些linux发行版Gentoo、Arch、Ubuntu (宇宙)和Debian (巴斯特和Sid)下封装的。

通过使用iwctl的交互模式,网络和连接的配置是可能的,help命令将显示可用命令的列表(没有手册)。

不使用交互模式:

  1. 如何手动配置wifi凭据?
  2. 如何通过iwctl连接到配置的wifi?
  3. 如何在引导时自动启用wifi连接?
EN

回答 1

Unix & Linux用户

回答已采纳

发布于 2018-10-24 11:36:10

1)在非交互模式下,您可以扫描并列出可用的访问点:

代码语言:javascript
复制
iwctl station wlp8s0 scan
iwctl station wlp8s0 get-networks

wifi凭据存储在/var/lib/iwd下,应该使用SSID的确切名称,格式:

代码语言:javascript
复制
SSID.psk 

内容:

代码语言:javascript
复制
[Security]
PreSharedKey=encripted-password
Passphrase=the-plain-txt-password

最小配置文件应该包含加密的wifi密码(PreSharedKey)。

要生成加密psk,可以使用wpa_passhrase工具:

代码语言:javascript
复制
wpa_passhrase "My-SSID" passphrase

有一个使用"My“和mysecretpassword的示例:

代码语言:javascript
复制
$ cat My\ SSID.psk
[Security]
PreSharedKey=8e1e64a6ecaf2b5e0aa29816547af300d7f3b0473bbfa56ddb5514ad4683804c

2)从终端连接:

代码语言:javascript
复制
iwctl station  connect "SSID" 

e,g:

代码语言:javascript
复制
iwctl station wlp8s0 connect "My SSID"
dhclient

dhclient可以被替换为iproute2命令,以将IP地址分配给wlp8s0。

3)要在引导时自动启用wifi连接,可以使用systemd服务:

连接的最小脚本:

代码语言:javascript
复制
$ cat /usr/local/enable-wifi.sh

#!/bin/bash
iwctl station wlan0 connect "My SSID" 
dhclient

创建一个systemd服务。

代码语言:javascript
复制
$ cat /etc/systemd/system/enable-wifi.service

[Unit]
Before=network.target
Wants=network.target

[Service]
ExecStart=/usr/local/enable-wifi.sh

[Install]
WantedBy=default.target

然后:

代码语言:javascript
复制
# chmod 744 /usr/local/enable-wifi.sh
# chmod 664 /etc/systemd/system/enable-wifi.service
# systemctl daemon-reload
# systemctl enable enable-wifi.service

文件:

arch wiki:iwd

Debian:网络管理器/iwd

龙:iwd:简化WiFi管理

票数 10
EN
页面原文内容由Unix & Linux提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

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

复制
相关文章

相似问题

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