我已经建立了 Cisco IPSec VPN 连接,而不是使用 Mac OS X 上的 Cisco 客户端。我非常喜欢它,它只需放在时钟旁边的托盘中,就可以让我轻松连接和断开连接。
然而,这样做的一个缺点是,Apple 的网络偏好设置窗格实际上强制执行了远程服务器不存储用户密码的策略,因此它会让我在第一次创建连接时存储一次密码,并让我通过这种方式连接,但在我断开连接后,它会删除密码并且不再让我在该字段中输入密码。
每次我连接时都会出现一个提示我输入登录凭据的框。有没有办法绕过/自动填写这个问题?
答案1
答案2
我终于找到了一个可行的解决方案。我正在使用 Anyconnect VPN 安全移动 4.8
我们可以使用它通过终端连接到 Anyconnect
连接:
printf 'USERNAME\nPASSWORD\ny' | /opt/cisco/anyconnect/bin/vpn -s connect HOST
替换用户名、密码和主机。末尾的 \ny 表示接受登录横幅 - 这是我主机特有的。
请注意,使用单引号 ' 而不是双引号 " - 这是因为双引号告诉 Bash 将字符串中的某些字符(例如感叹号)解释为 Bash 历史命令。如果密码包含感叹号,双引号将导致此命令失败并出现“未找到事件”错误。单引号字符串会传递感叹号而不进行解释。
断开连接:
/opt/cisco/anyconnect/bin/vpn disconnect
我为这些命令创建了 bash_profile 的别名
答案3
有一个使用 AppleScript 解决方法这对我行得通。
答案4
使用 Cisco Anyconnect 的更好方法可能是通过命令行使用它。
创建一个名为的文本文件anyconnect.txt
并添加以下内容
connect vpn.website.com
0
username
password
y
exit
在这里,替换主机、用户名和密码。另外,0
第二行是 GROUP。如果您有多个组,请使用适当的索引。
然后启动 VPN 所需的唯一命令是:
/opt/cisco/anyconnect/bin/vpn -s < anyconnect.txt
使用以下命令断开连接:
/opt/cisco/anyconnect/bin/vpn disconnect
通过在 bash_profile 中定义这些命令可以使其更快,如下所示:
# Cisco Anyconnect
alias cisco='/opt/cisco/anyconnect/bin/vpn -s < anyconnect.txt'
alias nocisco='/opt/cisco/anyconnect/bin/vpn disconnect'
现在,命令cisco
将连接您的 VPN,并将nocisco
断开它!