Skip to content

通过命令行设置无线局域网

如果您无权访问通常用于在树莓派上设置无线局域网的图形用户界面,则此方法适用。如果您无法访问屏幕或有线以太网,则特别适合与串行控制台电缆一起使用。另请注意,无需其他软件; 树莓派已包含您需要的所有内容。

使用 raspi -config

启用无线网络的最快方法是使用命令行" raspi-config"工具。

sudo raspi-config

从菜单中选择"本地化选项"项,然后选择"更改无线国家/地区"选项。在全新安装中,出于监管目的,您需要指定设备使用的国家/地区。然后设置网络的 SSID 和网络的密码。如果您不知道要连接的网络的 SSID ,请在运行raspi-config之前参阅下一节有关如何列出可用网络的信息。

注意," raspi-config"没有提供用于设置无线网络的完整选项。如果raspi-config无法将 Pi 连接到您所请求的网络,您可能需要参考以下额外的章节以获取更多详细信息。

获取无线 LAN 网络详细信息

要扫描无线网络,请使用命令" sudo iwlist wlan0 scan"。这将列出所有可用的无线网络,以及其他有用的信息。密切注意,提防,小心:

1." ESSID:"测试""是无线网络的名称。

1." IE:IEEE 802.11i/WPA2版本 1 "是所使用的身份验证。在这种情况下,WPA2是取代 WPA 的更新且更安全的无线标准。本指南应适用于 WPA 或 WPA2 ,但不适用于 WPA2 企业。有关 WEP 十六进制密钥,请参见最后一个示例here。您还需要无线网络的密码。对于大多数家用路由器,这可以在路由器背面的贴纸上找到。以下示例的 ESSID (ssid)是" testing",密码(psk)是" testingPassword"。

将网络详细信息添加到树莓派

在 nano 中打开wpa-supplicant配置文件:

sudo nano/etc/wpa_supplicant/wpa_supplicant.conf

转到文件底部,然后添加以下内容:

网络= {
    ssid =" testing"
    psk =" testingPassword"
}

可以将密码配置为 ASCII 表示形式(如上例中的引号所示),或配置为预加密的 32 字节十六进制数字。您可以使用 wpa _passphrase实用程序来生成加密的 PSK 。这将获取 SSID 和密码,并生成加密的 PSK 。在上面的示例中,您可以使用" wpa_passphrase" testing"`生成 PSK 。然后将要求您输入无线网络的密码(在本例中为" testingPassword")。输出如下:

``` 网络= { ssid =" testing"

psk =" testingPassword"

psk = 131e1e221f6e06e3911a2d11ff2fac9182665c004de85300f9cac208a6a80531 } ``` 请注意,存在纯文本版本的代码,但已将其注释掉。您应该从最终的" wpa_supplicant"文件中删除此行,以提高安全性。

" wpa_passphrase"工具需要输入 8 至 63 个字符的密码。要使用更复杂的密码,您可以提取文本文件的内容,并将其用作" wpa_passphrase"的输入。将密码存储在文本文件中,然后通过调用" wpa_passphrase"测试" <file_where_password_is_stored将其输入到" wpa_passphrase"。为了提高安全性,您应该在以后删除file_where_password_is_stored`,以便在系统上没有原始密码的纯文本副本。

要使用" wpa_passphrase"加密的 PSK ,您可以将加密的 PSK 复制并粘贴到" wpa_supplicant.conf"文件中,或通过以下两种方式之一将工具的输出重定向到配置文件: - 通过执行sudo su更改为root,然后调用wpa_passphrase" testing" >>/etc/wpa_supplicant/wpa_supplicant.conf并在询问时输入测试密码 - 或者使用wpa_passphrase"测试" | sudo tee -a /etc/wpa_supplicant/wpa_supplicant.conf>/dev/null并在询问时输入测试密码;重定向到/dev/null会阻止 tee 也输出到屏幕(标准输出)。

如果要使用这两个选项之一,请确保您使用>>,或将-atee 一起使用-要么会将文本添加到现有文件中。使用单个 V 形人字形>,或使用tee时省略-a,将擦除所有内容,然后将输出附加到指定文件。

现在按 Ctrl + X,然后按 Y ,然后最后按 Enter ,保存文件。

用 wpa _cli -i wlan0 reconfigure重新配置接口。您可以使用ifconfig wlan0来验证它是否已经成功连接。如果" inet addr"字段旁边有一个地址,则表明树莓派已连接到网络。如果不是,请检查您的密码和 ESSID 是否正确。 在树莓派 3B +和树莓派 4B上,您还需要设置国家/地区代码,以便 5GHz 网络可以选择正确的频段。您可以使用" raspi-config"应用程序执行此操作:选择"本地化选项"菜单,然后选择"更改 Wi -Fi国家"。另外,您可以编辑wpa_supplicant.conf文件并添加以下内容。 (注意:您需要用您所在国家的 2 个字母的 ISO 代码替换" GB"。有关 2 个字母的 ISO 3166-的列表,请参见Wikipedia 1个国家/地区代码。)

国家= GB

请注意,在最新的 Buster 树莓派 OS版本中,必须确保wpa_supplicant.conf文件在顶部包含以下信息:

ctrl_interface = DIR =/var/run/wpa_supplicant GROUP = netdev
update_config = 1
country = <在此处插入 2 个字母的 ISO  3166-1国家/地区代码>

不安全的网络

如果您要连接的网络不使用密码,则该网络的 wpa _supplicant条目将需要包含正确的 key _mgmt条目。 例如

网络= {
    ssid =" testing"
    key_mgmt =无
}

隐藏的网络

如果您使用的是隐藏网络,则 wpa _supplicant文件中的额外选项 scan _ssid可能有助于连接。

网络= {
    ssid =" yourHiddenSSID"
    scan_ssid = 1
    psk =" Your_wireless_network_password"
}

您可以使用ifconfig wlan0来验证它是否已经成功连接。如果" inet addr"字段旁边有一个地址,则表明树莓派已连接到网络。如果不是,请检查您的密码和 ESSID 是否正确。

添加多个无线网络配置

在最新版本的树莓派 OS上,可以为无线网络设置多种配置。例如,您可以为家庭设置一个,为学校设置一个。

例如

网络= {
    ssid =" SchoolNetworkSSID"
    psk =" passwordSchool"
    id_str =" school"
}

网络= {
    ssid =" HomeNetworkSSID"
    psk =" passwordHome"
    id_str =" home"
}

如果范围内有两个网络,则可以添加优先级选项以在它们之间进行选择。范围最高的网络将是所连接的网络。

网络= {
    ssid =" HomeOneSSID"
    psk =" passwordOne"
    优先级= 1
    id_str =" homeOne"
}

网络= {
    ssid =" HomeTwoSSID"
    psk =" passwordTwo"
    优先级= 2
    id_str =" homeTwo"
}