通过 Linux 命令行连接 Wifi
创始人
2024-03-01 21:36:23
0

目标:仅使用命令行工具来配置 WiFi

发行版:适用主流的那些发行版

要求:安装了无线网卡的 Linux 并且拥有 root 权限。

难度:简单

约定:

  • # - 需要使用 root 权限来执行指定命令,可以直接使用 root 用户来执行,也可以使用 sudo 命令
  • $ - 可以使用普通用户来执行指定命令

简介

许多人喜欢用图形化的工具来管理电脑,但也有很多人不喜欢这样做。如果你比较喜欢命令行工具,管理 WiFi 会是件很痛苦的事情。然而,事情本不该如此。

wpa_supplicant 可以作为命令行工具来用。使用一个简单的配置文件就可以很容易设置号 WiFi。

扫描网络

若你已经知道了网络的信息,就可以跳过这一步。如果不了解的话,则这是一个找出网络信息的好方法。

wpa_supplicant 中有一个工具叫做 wpa_cli,它提供了一个命令行接口来管理你的 WiFi 连接。事实上你可以用它来设置任何东西,但是设置一个配置文件看起来要更容易一些。

使用 root 权限运行 wpa_cli,然后扫描网络。

# wpa_cli
> scan

扫描过程要花上一点时间,并且会显示所在区域的那些网络。记住你想要连接的那个网络。然后输入 quit 退出。

生成配置块并且加密你的密码

还有更方便的工具可以用来设置配置文件。它接受网络名称和密码作为参数,然后生成一个包含该网路配置块(其中的密码被加密处理了)的配置文件。

# wpa_passphrase networkname password > /etc/wpa_supplicant/wpa_supplicant.conf

裁剪你的配置

现在你已经有了一个配置文件了,这个配置文件就是 /etc/wpa_supplicant/wpa_supplicant.conf。其中的内容并不多,只有一个网络块,其中有网络名称和密码,不过你可以在此基础上对它进行修改。

用喜欢的编辑器打开该文件,首先删掉说明密码的那行注释。然后,将下面行加到配置最上方。

ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=wheel

这一行只是让 wheel 组中的用户可以管理 wpa_supplicant。这会方便很多。

其他的内容则添加到网络块中。

如果你要连接到一个隐藏网络,你可以添加下面行来通知 wpa_supplicant 先扫描该网络。

scan_ssid=1

下一步,设置协议以及密钥管理方面的配置。下面这些是 WPA2 相关的配置。

proto=RSN
key_mgmt=WPA-PSK

grouppairwise 配置告诉 wpa_supplicant 你是否使用了 CCMP、TKIP,或者两者都用到了。为了安全考虑,你应该只用 CCMP。

group=CCMP
pairwise=CCMP

最后,设置网络优先级。越高的值越会优先连接。

priority=10

Complete WPA_Supplicant Settings

保存配置然后重启 wpa_supplicant 来让改动生效。

结语

当然,该方法并不是用于即时配置无线网络的最好方法,但对于定期连接的网络来说,这种方法非常有效。


via: https://linuxconfig.org/connect-to-wifi-from-the-linux-command-line

作者:Nick Congleton 译者:lujun9972 校对:wxy

本文由 LCTT 原创编译,Linux中国 荣誉推出

相关内容

不显示该屏幕的情况下点击按...
在不显示屏幕的情况下点击按钮并使用WiFi打印机打印是可能的,可以...
2025-01-10 08:31:25
不能通过WiFi在我的An...
如果您无法在Android手机上通过WiFi调试MAUI,请使用以...
2024-12-27 08:01:30
轻松找回已连接WiFi密码...
在日常生活中,WiFi已经成为我们不可或缺的一部分。无论是工作、学...
2024-12-24 06:12:49
bmp280和esp wi...
在某些情况下,BMP280传感器和ESP WIFI模块之间可能会发...
2024-12-23 05:30:47
BlazorWebAsse...
Blazor WebAssembly .NET6 在浏览器端运行,...
2024-12-21 23:01:27
Blazorwasm中的W...
这个错误通常发生在使用.NET Core 3.1或更高版本的Bla...
2024-12-21 22:01:46

热门资讯

Helix:高级 Linux ... 说到 基于终端的文本编辑器,通常 Vim、Emacs 和 Nano 受到了关注。这并不意味着没有其他...
使用 KRAWL 扫描 Kub... 用 KRAWL 脚本来识别 Kubernetes Pod 和容器中的错误。当你使用 Kubernet...
JStock:Linux 上不... 如果你在股票市场做投资,那么你可能非常清楚投资组合管理计划有多重要。管理投资组合的目标是依据你能承受...
Epic 游戏商店现在可在 S... 现在可以在 Steam Deck 上运行 Epic 游戏商店了,几乎无懈可击! 但是,它是非官方的。...
《Apex 英雄》正式可在 S... 《Apex 英雄》现已通过 Steam Deck 验证,这使其成为支持 Linux 的顶级多人游戏之...
从 Yum 更新中排除特定/某... 作为系统更新的一部分,你也许需要在基于 Red Hat 系统中由于应用依赖排除一些软件包。如果是,如...
通过 SaltStack 管理... 我在搜索Puppet的替代品时,偶然间碰到了Salt。我喜欢puppet,但是我又爱上Salt了:)...
如何在 Github 上创建一... 学习如何复刻一个仓库,进行更改,并要求维护人员审查并合并它。你知道如何使用 git 了,你有一个 G...
Opera 浏览器内置的 VP... 昨天我们报道过 Opera 浏览器内置了 VPN 服务,用户打开它可以防止他们的在线活动被窥视。不过...
如何检查你的 Linux 系统... 不知道在使用哪个初始化系统?以下是方法。每个主流 Linux 发行版(包括 Ubuntu、Fedor...