连接EAP-TLS wifi网络的os x终端

5
我目前担任学校技术员,正在编写一个Shell脚本,用于自动配置学校的无线网络,以便为我将要配置的多个BYOD和员工Mac电脑自动化此过程。这包括:
  1. 将安全证书导入到钥匙串中

  2. 在此对话框中插入以下设置以连接到网络

  3. 创建名为“school”的新网络位置

  4. 通过“自动代理配置”下的wpad文件配置代理

  5. 如果是教师的笔记本电脑并且他们请求,则创建名为“YouTube”的新位置,并在“Web代理”下输入允许访问YouTube的代理设置

我采取的第一种方法是通过security命令导入安全证书(根证书颁发机构和中间证书颁发机构)。然而,我意识到没有办法配置弹出的框,该框在首次连接时配置WiFi设置(选择EAP-TLS作为连接模式、证书并插入用户名)。使用

networksetup -setairportnetwork en1 eduSTAR

尝试让对话框弹出来的方法没有成功。我很清楚这个隐藏的问题。
airport    

这个命令可以执行,但是似乎没有明显的方法通过这个命令连接到wifi网络。我能想到的另一种方法是使用AppleScript的GUI脚本,但我试图避免使用这种方法,因为OS版本之间的UI更改会使脚本无法使用。

今天,我发现我可以通过网络设置的GUI导入.mobileconfig文件,这将处理所有事情(包括wdap代理配置),在此之前我还发现networksetup命令有一个选项可以导入802.1x配置文件。

networksetup -import8021xProfiles [service path]

网络设置中的导入选项不能直接导入 .mobileconfig 文件,但是我可以通过双击文件本身来导入设置。事实证明,实际的文件是一个 .networkconnect 文件,但这一点无关紧要,因为显然,从10.7开始,该命令不再受支持。

Use a configuration profile to install 802.1X profiles on the system.
** Error: This command is no longer supported.

现在,我的问题如下:

  1. 在10.7及以上版本的OS X终端中,如何通过不使用GUI脚本的方法导入.networkconnect/.mobileconfig文件到网络设置中?

  2. 在终端中导入后如何连接到网络?

1个回答

2
要导入.mobileconfig命令,请使用/usr/bin/profiles命令。networksetup仅用于导入10.6及更早版本的系统配置文件。 profiles -I -F filename.mobileconfig
当mobileconfig被导入时,它将自动尝试连接,但是profiles(与networksetup不同)据我所知无法更改SSID的优先顺序。
这不是您在这里寻找的内容,但如果您拥有加入您的AD域并具有AD集成CA的Mac,则可以使用mactls shell脚本自动发放证书以及连接配置文件。这也可能是比较10.6和10.7之间的系统配置方法的有用参考。

http://sourceforge.net/p/mactls/


1
很遗憾,我学校的 Mac 电脑不是我们 AD 域的成员 :(. 但是我相信我有能力编写一个 shell 脚本来:
  1. 导入文件
  2. 创建多个网络位置(我们有两个代理:维多利亚教育部的标准代理和一个代理,允许教师访问被代理屏蔽的站点,例如 YouTube)
  3. 使用正确的代理设置设置每个位置
非常感谢您的回答,谢谢 :)
- user1567462

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