欢迎各位兄弟 发布技术文章
这里的技术是共享的
可以看看 /node-admin/20929
以下是一个使用 networksetup
命令和 security
命令的 macOS shell 脚本,用于连接到指定的企业级 WiFi 网络(aaaaa-bbbbbb,WPA2-企业,PEAP 认证):
bash#!/bin/bash # WiFi 配置参数 SSID="aaaaa-bbbbbb" USERNAME="11111111" PASSWORD="cccccccc" SECURITY_TYPE="WPA2E" EAP_TYPE="PEAP" # 获取 WiFi 接口名称(通常为 en0) WIFI_INTERFACE=$(networksetup -listallhardwareports | awk '/Wi-Fi|AirPort/{getline; print $2}') # 检查是否已经配置过该网络 EXISTING_CONFIG=$(networksetup -listpreferredwirelessnetworks "$WIFI_INTERFACE" | grep "$SSID") if [ -z "$EXISTING_CONFIG" ]; then # 添加新的 WiFi 网络配置 echo "配置新的 WiFi 网络: $SSID" networksetup -addpreferredwirelessnetworkatindex "$WIFI_INTERFACE" "$SSID" 0 "$SECURITY_TYPE" # 配置企业级认证设置 networksetup -setairportnetwork "$WIFI_INTERFACE" "$SSID" networksetup -seteapusername "$WIFI_INTERFACE" "$SSID" "$USERNAME" # 将密码添加到钥匙串(会提示用户授权) security add-generic-password -D "AirPort network password" -a "$SSID" -s "$SSID" -T "/usr/bin/security" -w "$PASSWORD" -U echo "已配置 WiFi 网络 $SSID 使用 PEAP 认证" else echo "WiFi 网络 $SSID 已存在配置中,更新设置..." networksetup -seteapusername "$WIFI_INTERFACE" "$SSID" "$USERNAME" # 更新钥匙串中的密码 security delete-generic-password -a "$SSID" -s "$SSID" >/dev/null 2>&1 security add-generic-password -D "AirPort network password" -a "$SSID" -s "$SSID" -T "/usr/bin/security" -w "$PASSWORD" -U fi # 连接到网络 echo "尝试连接到 $SSID ..." networksetup -setairportnetwork "$WIFI_INTERFACE" "$SSID" "$PASSWORD" # 检查连接状态 CONNECTED_SSID=$(/System/Library/PrivateFrameworks/Apple80211.framework/Versions/Current/Resources/airport -I | awk -F: '/ SSID/{print $2}' | xargs) if [ "$CONNECTED_SSID" = "$SSID" ]; then echo "成功连接到 $SSID" else echo "连接失败,请检查用户名和密码" fi
将上述脚本保存为 connect_luxshare_wifi.sh
在终端中运行 chmod +x connect_luxshare_wifi.sh
使其可执行
运行脚本 ./connect_luxshare_wifi.sh
首次运行时会提示授权访问钥匙串的权限,需要点击"允许"
脚本需要管理员权限才能修改网络配置,可以通过 sudo ./connect_luxshare_wifi.sh
运行
macOS 钥匙串可能仍会提示输入密码,这是系统安全机制
确保你的 macOS 系统版本支持 802.11ac 和 PEAP 认证
如果连接后出现问题,可以尝试通过系统偏好设置中的"网络"面板手动检查和调整配置。