MAC Tunnelblick VPN 自动输入谷歌验证码配置指南
前提条件
- macOS 系统
- 已安装 Tunnelblick
- 已安装并配置好 VPN(能正常连接,只是每次需要手动输入验证码)
- 需要先解绑
第一步:获取 OTP Secret
- 打开二次验证配置页面,点击绑定,页面会显示一个二维码
- 使用任意二维码扫描工具扫描该二维码,获取类似以下格式的内容:
1 | |
- 记下其中的
secret值(如上例中的ABCDEFGHIJKLMNOP),后续步骤需要用到
注意:完成绑定流程后再继续后续步骤(扫码后按页面提示输入两次验证码完成绑定)。
第二步:安装 oath-toolkit
打开终端,执行:
1 | |
安装完成后验证:
1 | |
能正常输出版本号即可。
第三步:将 OTP Secret 存入钥匙串
打开终端,执行以下命令(将 你的OTP_SECRET 替换为第一步获取的 secret 值):
1 | |
说明:
-s后面的Tunnelblick-Auth-VPN配置名是钥匙串条目的名称,可自定义,但后续脚本中需要保持一致-a后面的otp-secret是账户名,同样需要和脚本保持一致-w后面是你的 OTP Secret
验证是否存储成功:
1 | |
如果正确输出你的 secret 值,说明存储成功。
第四步:找到 VPN 配置的实际路径
这一步非常关键,脚本必须放在 Tunnelblick 实际加载的配置目录中。
根据你安装 VPN 时的选项不同,配置路径也不同:
| 安装选项 | 配置路径 |
|---|---|
| 仅为我安装 | ~/Library/Application Support/Tunnelblick/Shared/<配置名>.tblk/Contents/Resources/ |
| 为所有人安装 | /Library/Application Support/Tunnelblick/Shared/<配置名>.tblk/Contents/Resources/ |
如何确认? 连接一次 VPN,然后查看 Tunnelblick 日志:
- 点击菜单栏 Tunnelblick 图标 → VPN Details
- 选择你的 VPN 配置 → Log 标签页
- 在日志中找到
--cd后面的路径,那就是实际的配置目录
例如日志中出现:
1 | |
那你的脚本就应该放在 /Library/Application Support/Tunnelblick/Shared/<配置名>.tblk/Contents/Resources/ 目录下。
第五步:创建自动应答脚本
在第四步确认的目录下创建文件 static-challenge-response.user.sh,内容如下:
1 | |
注意:将 otp_pw_name 的值改为你在第三步中 -s 参数使用的名称。
然后赋予执行权限:
1 | |
如果配置目录在 /Library/...(为所有人安装),需要加 sudo:
1 | |
第六步:验证
- 断开 VPN 连接
- 重新连接 VPN
- 如果一切配置正确,将不再弹出验证码输入框,自动完成认证
常见问题
Q: 配置完成后仍然弹出验证码输入框?
最常见的原因是脚本放错了目录。 请务必按照第四步确认实际路径,尤其注意:
- “仅为我安装”和”为所有人安装”的路径不同
.tblk包的名称要和日志中的完全一致
Q: oathtool 命令找不到?
如果你是 Intel Mac,路径可能是 /usr/local/bin/oathtool 而不是 /opt/homebrew/bin/oathtool。运行 which oathtool 确认实际路径,并修改脚本中的路径。
Q: 钥匙串访问被拒绝?
打开”钥匙串访问”App → 找到你创建的条目 → 右键”显示简介” → “访问控制”标签 → 确保允许 security 命令或”所有应用程序”访问。
MAC Tunnelblick VPN 自动输入谷歌验证码配置指南
https://cason.work/2026/03/18/MAC-Tunnelblick-VPN-自动输入谷歌验证码配置指南/