Linux终端中连接WiFi的方法

我的家用电脑主要使用桌面 Linux 。我也有多台 Linux 服务器用于托管网站以及开源软件,如 Nextcloud、Discourse、Ghost、Rocket Chat 等 。
我可以使用 linode 在云端几分钟内快速部署 Linux 服务器 。但最近,我在我的树莓派上安装了 Ubuntu 服务器 。这是我第一次在物理设备上安装服务器,我不得不做一些额外的事情来通过命令行将 Ubuntu 服务器连接到 WiFi 。
在本教程中,我将展示在 Ubuntu Linux 中使用终端连接到 WiFi 的步骤 。你应该:
不要害怕使用终端编辑文件 。
【Linux终端中连接WiFi的方法】 知道 wifi 接入点名称 (SSID) 和密码 。
在 Ubuntu 中从终端连接到 WiFi
当你使用 Ubuntu 桌面时,连接到 WiFi 是很容易的,因为你有图形用户界面,可以很容易地做到这一点 。但当你使用 Ubuntu 服务器时就不一样了,因为你只能使用命令行 。
Ubuntu 使用 Netplan 工具来轻松配置网络 。在 Netplan 中,你可以创建一个包含网络接口描述的 YAML 文件,然后在 netplan 命令行工具的帮助下,生成所有需要的配置 。
让我们看看如何使用 Netplan 从终端连接到无线网络 。
步骤 1:确定你的无线网络接口名称
有几种方法可以识别你的网络接口名称 。你可以使用 ip 命令、过时的 ipconfig 命令或查看这个文件:

Linux终端中连接WiFi的方法
文章插图
这应该会展示所有可用的网络接口(以太网、WiFi 和环回) 。无线网络接口名称以 w 开头,通常命名类似 wlanX、wlpxyz 。

Linux终端中连接WiFi的方法
文章插图
记下这个接口名 。你将在下一步使用它 。
步骤 2:编辑 Netplan 配置文件中的 wifi 接口详细信息
Netplan 配置文件在 /etc/netplan 目录下 。如果你查看这个目录的内容,你应该看到类似 01-network-manager-all.yml 或 50-cloud-init.yaml 等文件 。
如果是 Ubuntu 服务器,你应该有 50-cloud-init.yaml 文件 。如果是桌面计算机,应该是 01-network-manager-all.yml 文件 。
Linux 桌面计算机的 Network Manager 允许你选择一个无线网络 。你可以在它的配置中硬编码写入 WiFi 接入点 。这可以在自动掉线的情况下(比如挂起)时帮助到你 。
不管是哪个文件,都可以打开编辑 。我希望你对 Nano 编辑器有一点熟悉,因为 Ubuntu 预装了它 。

Linux终端中连接WiFi的方法
文章插图
YAML 文件对空格、缩进和对齐方式非常敏感 。不要使用制表符,在看到缩进的地方使用 4 个空格(或 2 个,以 YAML 文件中已经使用的为准)代替 。
基本上,你需要添加以下几行,引号中是接入点名称(SSID) 和密码(通常):

Linux终端中连接WiFi的方法
文章插图
再说一次,保持我所展示的对齐方式,否则 YAML 文件不能被解析,它会抛出一个错误 。
你的完整配置文件可能是这样的:

Linux终端中连接WiFi的方法
文章插图
我觉得很奇怪,尽管有消息说更改不会在实例重启后保留,但它仍然可以工作 。
不管怎样,用这个命令生成配置:

Linux终端中连接WiFi的方法
文章插图
如果你幸运的话,你应该连上网络 。尝试 ping 一个网站或运行 apt 更新命令 。
然而,事情可能不会那么顺利,你可能会看到一些错误 。如果是这种情况,请尝试一些额外的步骤 。
可能的故障排除
当你使用 netplan apply 命令时,你有可能在输出中看到类似这样的错误 。

Linux终端中连接WiFi的方法
文章插图
可能是 wpa_supplicant 服务没有运行 。运行这个命令:

Linux终端中连接WiFi的方法
文章插图
再次运行 netplan apply 。如果它能解决这个问题,那就太好了 。否则,使用下面的命令关闭 Ubuntu 系统:

Linux终端中连接WiFi的方法
文章插图
重新启动 Ubuntu 系统,登录并再次生成和运行 netplan apply:

Linux终端中连接WiFi的方法
文章插图
现在可能会显示警告(而不是错误) 。这是警告而不是错误 。我检查了正在运行的 systemd 服务,发现 netplan-wpa-wlan0.service 已经在运行了 。可能是因为它已经在运行了,而且 netplan apply 更新了配置文件(即使没有任何改变),所以显示了警告 。

Linux终端中连接WiFi的方法
文章插图
这并不重要,可以通过运行 apt update 来检查网络是否已经正常工作 。
我希望你能够在本教程的帮助下,在 Ubuntu 中使用命令行连接到 WiFi 。
责任编辑人:CC

    推荐阅读