如何在我的Raspiberry Pi 3 (Raspbian)上检测并连接隐藏的SSID?

24

我该如何配置我的树莓派3(运行Raspbian系统)以连接到一个隐藏的网络?我知道这涉及到编辑/etc/network/interfaces文件和wpa_supplicant.conf文件。我已经按照其他几个指南进行了操作,但是当我进行这些文件更改并重新启动后,甚至无法检测到可见的网络,因为它们从我的wifi菜单中消失了。我想我只是使用了错误的配置来编辑这些文件。


1
我取消隐藏网络,连接了一次,然后又隐藏了网络,它自动连接上了。在重新启动后大约需要30-45秒的延迟才能连接上。 - Steve P
7个回答

23

我有一台树莓派3。无论是包括还是排除country=US都没有影响。 将wpa_supplicant.conf文件编辑成以下形式:

ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev
update_config=1

network={
    scan_ssid=1
    ssid="NAME"
    psk="password"
}

我删除了key_mgmt=WPA-PSK并重新启动,这对我起作用了。


我也曾为此苦恼 - 大多数建议都是针对3版本以外的,或者已经过时了。这篇文章已经有一年了,所以你可能已经解决了,但它是谷歌搜索结果中排名靠前的,所以对于其他人来说:
  • 对于带有Stretch的Pi 3b+,scan_ssid对我无效 - 需要使用priority=x,其中0是默认值,较高的数字按降序评估。截至本文撰写时,在运行Stretch的Pi 3b+上,这绝对有效。
- lonstar
嗯,这在我的Raspberry Pi 3 B+上完美地运行了;scan_ssid=1有效,并且我不需要优先级。 - T3db0t
2
我有一台Raspberry Pi 4 Model B,这个解决方案对我很有效。 - arantebw

22

首先,在终端中输入以下内容:

sudo nano /etc/network/interfaces  

将接口文件编辑成以下样式,与默认样式应该没有太大区别:

auto lo

iface lo inet loopback
iface eth0 inet dhcp

allow-hotplug wlan0
iface wlan0 inet manual
wpa-roam /etc/wpa_supplicant/wpa_supplicant.conf
iface default inet dhcp

接下来,我们将编辑wpa_supplicant.conf文件。在终端中输入以下内容:

sudo nano /etc/wpa_supplicant/wpa_supplicant.conf

编辑此配置文件的设置,使其如下:

country=US
ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev
update_config=1 
network={
        scan_ssid=1
        ssid="Your Hidden SSID"
        psk="Your SSID's Password"
        key_mgmt=WPA-PSK }

注意:您需要根据自己的位置更改“国家”设置。此外,必须将scan_ssid设置为1才能检测隐藏的SSID。输入您隐藏网络的SSID名称和密码。保存这些更改,重新启动您的树莓派,然后当返回到桌面时,它应该会自动连接到隐藏的网络。


在树莓派0 W上工作过。谢谢! - Chris Patty

6

1. 要连接到隐藏的网络,您只需要修改 /etc/wpa_supplicant/wpa_supplicant.conf 文件。

network={
       ssid="your SSID"
       scan_ssid=1
       psk=your PSK 
}

我使用wpa_passphrase“你的PSK”“你的SSID”命令创建了这个文件并对其进行了加密。

2. 如果您需要连接到隐藏的网络,则无需修改/etc/network/interfaces。当您修改wpa_supplicant.conf文件时,interfaces文件会自动创建一个新的配置。在我的情况下,它看起来像:

# interfaces(5) file used by ifup(8) and ifdown(8)

# Please note that this file is written to be used with dhcpcd
# For static IP, consult /etc/dhcpcd.conf and 'man dhcpcd.conf'

# include files from /etc/network/interfaces.d:
source-directory /etc/network/interfaces.d

auto lo
iface lo inet loopback

iface eth0 inet manual

allow-hotplug wlan0
iface wlan0 inet manual
    wpa-conf  /etc/wpa_supplicant/wpa_supplicant.conf


allow-hotplug wlan1
iface wlan1 inet manual
    wpa-conf  /etc/wpa_supplicant/wpa_supplicant.conf

请确保在wpa_supplicant.conf文件中添加新网络时,不会与/etc/dhcpch.conf文件中允许的IP地址发生冲突...
如需更多信息,请查看: https://www.raspberrypi.org/documentation/configuration/wireless/wireless-cli.md

4

我有一台运行Raspbian 9 (Stretch)Raspberry Pi 3 (Model B)
以下是适用于连接到我的路由器隐藏SSID(TP Link Archer 2600,使用WPA/WPA-2个人加密)的网络接口配置。

1)/etc/network/interfaces

# interfaces(5) file used by ifup(8) and ifdown(8)

# Please note that this file is written to be used with dhcpcd
# For static IP, consult /etc/dhcpcd.conf and 'man dhcpcd.conf'

# Include files from /etc/network/interfaces.d:
source-directory /etc/network/interfaces.d

####################################################
##### custom stuff to find hidden router SSIDs #####
####################################################
auto lo
iface lo inet loopback

allow-hotplug wlan0
iface wlan0 inet manual
    wpa-conf /etc/wpa_supplicant/wpa_supplicant.conf

请注意,我只设置了loopbackwlan0(无线)接口,我不需要eth0(有线连接)接口。
2)/etc/wpa_supplicant/wpa_supplicant.conf:
country=SE
ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev
ap_scan=1
update_config=1
network={
    scan_ssid=1
    ssid="xxx"
    psk="xxx"
}

请确保正确设置您的国家ssidpsk
ssid是您路由器或接入点的隐藏SSID。
psk是连接和认证到路由器或接入点的密码。
3)/etc/dhcpcd.conf:

我没有在dhcpcd.conf中更改任何内容。


1
在我的树莓派 3 B+ 上运行良好。 - Amey

3
在树莓派4上, 在初始配置后它可以正常工作,但在重新启动后将无法工作。你可以通过编辑/etc/wpa_supplicant/wpa_supplicant.conf来添加scan_ssid=1到目标网络配置来解决这个问题。最终看起来会像这样:
network={
       ssid="your SSID"
       psk="your PSK"
       ...
       scan_ssid=1
}

重启后,它就像魔术般地正常工作了。


3

树莓派系统要求:

  1. 树莓派3B+(Raspbian Strecth操作系统)
  2. 列出所有可用的隐藏wifi。

操作步骤

首先打开终端,然后输入:

sudo nano /etc/wpa_supplicant/wpa_supplicant.conf

添加以下内容:

ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev
update_config=1
country=IN
network={
        ssid="XXXXXXXX"
        priority=1
        proto=RSN
        key_mgmt=WPA-EAP
        pairwise=CCMP
        auth_alg=OPEN
        eap=PEAP
        identity="18XXXXXXXX3"
        password=hash:d7XXXXXXXXXXXxXXXxce
        phase1="peaplabel=0"
        phase2="auth=MSCHAPV2"
}

保存文件并退出wpa_supplicant.conf。 需要在ssid的位置提供您隐藏的wifi名称,在identity的位置提供用户ID,并将密码转换为哈希码格式。

在终端中使用以下命令将密码转换为哈希码格式。

echo -n 'YOUR_REAL_PASSWORD' | iconv -t utf16le | openssl md4 > hash.txt

接下来执行以下步骤:

  1. sudo nano hash.txt
  2. 将 (stdin)= 替换为 hash:
  3. 复制整个文本并退出
  4. 接下来修改 wpa_supplicant.conf 文件中的密码并退出

重新启动系统。

预期输出

它将连接到隐藏的ssid。


1
尝试了之前所有的更改,但是我的Pi4仍然没有成功连接。一直尝试禁用/启用网络,并重新启动我的PI,但仍无法连接。
最终我偶然发现了问题,通过执行以下命令: iwlist wlan0 scan ssid "your ssid"
这将激活Pi搜索并连接到隐藏的网络。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接