如何在 Mac OS X 上自动保存 Cisco VPN 连接密码?

如何在 Mac OS X 上自动保存 Cisco VPN 连接密码?

我已经建立了 Cisco IPSec VPN 连接,而不是使用 Mac OS X 上的 Cisco 客户端。我非常喜欢它,它只需放在时钟旁边的托盘中,就可以让我轻松连接和断开连接。

然而,这样做的一个缺点是,Apple 的网络偏好设置窗格实际上强制执行了远程服务器不存储用户密码的策略,因此它会让我在第一次创建连接时存储一次密码,并让我通过这种方式连接,但在我断开连接后,它会删除密码并且不再让我在该字段中输入密码。

在此处输入图片描述

每次我连接时都会出现一个提示我输入登录凭据的框。有没有办法绕过/自动填写这个问题?

在此处输入图片描述

答案1

在使用思科客户端的糟糕日子里,很容易编辑.pcf文件来解决远程服务器策略。使用替代客户端从几年前开始它就一直为我服务(它现在是闭源的,但你可以从 Google Code 获取旧版本)。 这是另一个解决方法我还没有尝试过使用钥匙串。

答案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断开它!

相关内容