如何在没有.conf文件的情况下从Ubuntu下的命令行连接到WiFi?


10

通过执行以下操作,我可以通过外壳连接到我的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

相当复杂..是否可以通过外壳连接到WiFI,而无需使用wireless-wpa.conf


是否有一个脚本可以即时编写.conf并建立网络连接?
保罗

实际上,我正在寻找一种完全不同的解决方案,因为我可以自己编写一个bash脚本。
JohnnyFromBF 2011年

Answers:


15

您可以使用已经在.conf文件中指定的wpa_supplicant控制界面来对其进行控制。尽管这仍然需要一个.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

您可能想从wpa_cli scan开始,然后是wpa_cli scan_results来收集可用的SSID
sibaz 2015年

字符串周围的单引号对我有帮助,但是当SSID中有单引号时,您会怎么做?它似乎不起作用。
JDavis '18年

单引号把戏帮助了我。如何使用类似的变量psk=$3
typelogic

0

您是否需要管理您的wpa_suplicant-config的cli命令?您是否尝试过ifupifdownifcfg?他们也处理连接脚本并为wifi工作,但可能需要进行一些修改。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.