使用.netrc for corp wifi密码?

时间:2015-01-06 19:52:07

标签: android authentication wifi .netrc

我使用.netrc文件进行git的身份验证args。我有测试自动化,在执行测试之前配置Android设备,我需要将设备连接到corp wifi网络。我通过将以下参数添加到wpa_supplicant.conf并将其推回来编写脚本:

WIRELESS_CTRL_INTERFACE=wlan0
WIRELESS_SSID=ST-DEV
WIRELESS_KEY_MGMT="WPA-EAP IEEE8021X"
WIRELESS_EAP=PEAP
WIRELESS_USER=[me]
WIRELESS_PASSWORD=[my password]

我想在可能的情况下使用.netrc,因此可以将配置脚本检入源并与团队共享,他们可以使用他们的凭据,我们只需要更新当我们的密码过期时,我们的.netrc。

但它看起来像.netrc matches remote machine names。有没有办法让.netrc看到我的SSID ST-DEV作为机器名称令牌,并在脚本执行时使用我安全存储的内容填充两个凭证变量.netrc以便更新wpa_supplicant.conf推回到Android设备仍然是最新的?

1 个答案:

答案 0 :(得分:0)

想出来:使用awk来解析.netrc,将凭据分配给变量,将它们写入wpa_supplicant.conf并将其推送到设备。作品!

WIRELESS_CTRL_INTERFACE=wlan0
WIRELESS_SSID=ST-DEV
WIRELESS_KEY_MGMT="WPA-EAP IEEE8021X"
WIRELESS_EAP=PEAP
WIRELESS_USER=$(awk '$1 == "login" { print $2}' /home/[me]/.netrc)
WIRELESS_PASSWORD=$(awk '$1 == "password" { print $2}' /home/[me]/.netrc)

您需要awk。您还希望您的脚本rm完成wpa_supplicant.conf本地副本,因为您的密码仍然是纯文本(是的,Android会将您的wifi密码以明文形式存储)。