问题描述
我可以通过以下操作通过 shell 连接到我的WiFi:
nano wireless-wpa.conf
输入:
ctrl_interface=/var/run/wpa_supplicant
network={
ssid="my_router_id"
scan_ssid=1
key_mgmt=WPA-PSK
psk="1234567890"
}
并做:
ifconfig eth1 down
iwconfig eth1 mode Managed
ifconfig eth1 up
killall wpa_supplicant
wpa_supplicant -B -Dwext -i eth1 -c ./wireless-wpa.conf -dd
dhclient eth1
相当复杂。是否可以通过 shell 连接到WiFI,而不需要wireless-wpa.conf?
最佳方法
您可以使用它的控制界面来控制正在运行的wpa_supplicant,该界面已在.conf文件中指定。尽管这仍然需要一个.conf文件,但您不必在其中放置任何无线网络,也不必对其进行更改。然后,您可以使用wpa_cli
对其进行配置。
可能需要告知wpa_cli
要配置哪个wpa_supplicant实例和接口:
wpa_cli -p /var/run/wpa_supplicant -i wlan0 command ...
为了清楚起见,我在这里仅使用wpa_cli
。基本上,您需要创建一个网络,设置其变量并启用它:
# wpa_cli add_network
4 <--- note the network ID!
# wpa_cli set_network 4 ssid '"Your SSID"'
OK
# wpa_cli set_network 4 scan_ssid 1
OK
# wpa_cli set_network 4 key_mgmt WPA-PSK
OK
# wpa_cli set_network 4 psk '"1234567890"' <--- note the single quotes around
OK
# wpa_cli enable_network 4
OK