wpa_cli를 사용하여 개방형 Wi-Fi 네트워크에 연결하는 방법은 무엇입니까?

wpa_cli를 사용하여 개방형 Wi-Fi 네트워크에 연결하는 방법은 무엇입니까?

wpa_cli를 사용하여 개방형 Wi-Fi 네트워크에 연결할 수 없습니다. 다음을 통해 개방형 Wi-Fi 네트워크에 연결하려고 합니다.

$ sudo wpa_cli -i wlp3s0
> add_network
0
> set_network 0 ssid "Guest"
> enable_network 0

네트워킹을 활성화하려고 하면 때때로 "OK"라고만 응답한 다음 아무것도 응답하지 않습니다. 나는 다음과 같이 반응하는 것을 몇 번 보았습니다.

<3>CTRL-EVENT-SCAN-STARTED
<3>CTRL-EVENT-SCAN-RESULTS
<3>WPS-AP-AVAILABLE
<3>CTRL-EVENT-NETWORK-NOT-FOUND

wpa_cli는 비밀번호로 보호된 네트워크에 문제가 없습니다.

답변1

일반적으로 네트워크에 연결하려면 일종의 인증 메커니즘이 필요합니다. 이는 wpa_supplicant의 다른 설정에 의해 처리됩니다.key_mgmt바꾸다:

# key_mgmt: list of accepted authenticated key management protocols
# WPA-PSK = WPA pre-shared key (this requires 'psk' field)
# WPA-EAP = WPA using EAP authentication
# IEEE8021X = IEEE 802.1X using EAP authentication and (optionally) dynamically
# generated WEP keys
# NONE = WPA is not used; plaintext or static WEP could be used
[...]
# If not set, this defaults to: WPA-PSK WPA-EAP

연결됨열려 있는SSID는 인증이나 비밀번호를 사용하지 않음을 의미합니다. 이 매개변수는 기본값에서 NONE위에 쓰여진 값으로 변경되어야 합니다(일반 텍스트사례).

wpa_cli이 값은 다른 많은 값과 마찬가지로 네트워크를 활성화(사용)하기 전에 명령을 통해 동적으로 설정할 수 있습니다.

> help set_network
commands:
  set_network <network id> <variable> <value> = set network variables (shows
    list of variables when run without arguments)

이 명령은 다음 앞에 삽입되어야 합니다 enable_network.

set_network 0 key_mgmt NONE

예제를 실행하면 다음과 같습니다.

# wpa_cli -i wlp3s0
wpa_cli v2.9
[...]
Interactive mode

> add_network
0
> set_network 0 ssid "Guest"
> set_network 0 key_mgmt NONE
> enable_network 0
OK
<3>SME: Trying to authenticate with 12:34:56:78:9a:bc (SSID='Guest' freq=2437 MHz)
<3>Trying to associate with 12:34:56:78:9a:bc (SSID='Guest' freq=2437 MHz)
<3>Associated with 12:34:56:78:9a:bc
<3>CTRL-EVENT-CONNECTED - Connection to 12:34:56:78:9a:bc completed [id=0 id_str=]
<3>CTRL-EVENT-SUBNET-STATUS-UPDATE status=0
[...]

관련 정보