如何在 Linux 上通过命令行管理 WiFi 连接
每当您在计算机上安装新的 Linux 发行版时,通常建议您通过有线连接连接到互联网。造成这种情况的主要原因有两个:一是您的无线适配器可能没有加载正确的驱动程序;二是您的无线适配器可能没有加载正确的驱动程序。其次,如果您从命令行安装,管理 WiFi 会很可怕。我总是试图避免通过命令行处理 WiFi。但在 Linux 世界里,没有什么值得恐惧的地方。如果您不知道如何做某事,这是您需要继续学习的唯一原因。所以我强迫自己学习如何在 Linux 上通过命令行管理 WiFi 连接。
当然,有多种方法可以从命令行连接到 WiFi。但为了这篇文章,并作为建议,我将尝试使用最基本的方法:使用任何发行版的默认包中包含的程序和实用程序的方法。或者至少我会尝试。这种选择的一个明显原因是该过程可以在任何 Linux 计算机上重现。缺点是其相对复杂性。
首先,我假设您已为无线网卡加载了正确的驱动程序。如果没有它,就无法开始任何事情。如果您不这样做,您应该查看您的发行版的 Wiki 和文档。
然后可以通过命令查看哪个接口支持无线连接。
$ iwconfig

一般来说,无线接口称为wlan0
。当然也有例外,但在本教程的其余部分中,我将这样称呼它。
以防万一,您应该确保接口已启动:
$ sudo ip link set wlan0 up
一旦您知道您的接口可以运行,您应该使用以下命令扫描附近的无线网络:
$ sudo iw dev wlan0 scan | less

从输出中,您可以提取网络名称(其 SSID)、信号功率以及使用的安全类型(例如 WEP、WPA/WPA2)。从那里开始,道路分成两部分:好的和简单的,以及稍微复杂的情况。
如果您要连接的网络未加密,您可以使用以下命令直接连接:
$ sudo iw dev wlan0 connect [network SSID]
如果网络使用WEP加密,也相当简单:
$ sudo iw dev wlan0 connect [network SSID] key 0:[WEP key]
但如果网络使用 WPA 或 WPA2 协议,一切都会变得更糟。在这种情况下,您必须使用名为 wpa_supplicant
的实用程序,默认情况下并不总是包含该实用程序。然后,您必须修改 /etc/wpa_supplicant/wpa_supplicant.conf
中的文件以添加以下行:
network={
ssid="[network ssid]"
psk="[the passphrase]"
priority=1
}
我建议您将其附加在文件末尾,并确保其他配置已被注释掉。请注意 ssid 和密码都区分大小写。从技术上讲,您还可以将接入点的名称作为 ssid,wpa_supplicant
会将其替换为正确的 ssid。
配置文件完成后,在后台启动此命令:
$ sudo wpa_supplicant -i wlan0 -c /etc/wpa_supplicant/wpa_supplicant.conf
最后,无论您连接到开放网络还是安全网络,您都必须获得 IP 地址。只需使用:
$ sudo dhcpcd wlan0
如果一切顺利,您应该通过 DHCP 获得一个全新的本地 IP,并且该过程将在后台分叉。如果您想确保已连接,您可以随时再次检查:
$ iwconfig

总而言之,我认为迈出第一步是完全值得的。您永远不知道您的 GUI 何时会关闭,或者何时无法访问有线连接,因此现在做好准备似乎非常重要。此外,如前所述,有很多方法(例如网络管理器、wicd、netcfg、wifi)来管理无线连接。如果我尝试坚持最基本的方法,我知道在某些情况下,我使用的实用程序甚至可能无法供您使用,并且您必须在此之前下载它们。另一方面,还有一些更高级的程序,它们绝对不包含在“默认包”中,这将大大简化整个过程。但作为一般建议,一开始最好坚持基础知识。
您还建议使用哪些其他方式从命令行通过 WiFi 连接?请在评论中告诉我们。