您如何获得Cisco VPN连接以记住其密码?


16

问题

我在优胜美地计算机上的网络设置中有一个Cisco IPSEC VPN连接。除了在每个单个连接上提示输入密码外,它都可以正常工作。保存的密码将被完全忽略。

背景

如果我在网络设置下输入密码,然后单击“连接”,则保存的密码将消失,并出现提示输入密码的对话框。我已验证密码正确(它是从文档中复制粘贴的)。

没用的东西

  • 针对Snow Leopard的建议解决方案是保存密码,打开“钥匙串访问”,在系统钥匙串中找到“ Xauth”钥匙,然后授予/usr/libexec/configd对该钥匙的访问权限。这没有效果。

  • 常规权限修复/磁盘检查的东西

奇怪的东西

如果我在按下连接按钮时看到钥匙串访问,则保存的密码将完全消失则对话框出现时将从钥匙串中。

总体问题

如何正确保存密码,这样就不必在每次连接时都重新输入密码?


嗯。我在优胜美地也遇到了奇怪的身份验证问题,尤其是在网络对话中。如果涉及错误,也不会感到惊讶。
n1000

您确定它不依赖于远程VPN策略(现在允许保存密码)吗?
Matteo Guarnerio

那..将解释为什么如果明确保存,它会直接从钥匙串中消失。将不得不与网络管理员聊天!
Mikey TK

Answers:


13

我想您正在使用anyconnect连接到Cisco VPN服务器。也可以从终端使用AnyConnect。这适用于macOS Sierra和AnyConnect 3.1.14018。使用以下命令创建bash脚本:

/opt/cisco/anyconnect/bin/vpn connect your-vpn.server.here -s <.credentials

并使用以下三行将登录详细信息放入文件.credentials中:

0
your-username
your-password

不要忘记对文件设置合理的权限。


用户声明“我在优胜美地计算机上的网络设置中具有Cisco IPSEC VPN连接”。这种词语的选择使我非常确定地得出结论,他们正在使用系统偏好设置/网络/ +中的内置VPN解决方案
GhostLyrics

您可以通过加密的用户名和/或密码通过该文件吗?就像Linux上的密码文件一样
forgotstackxpassword

8

通过阅读您的问题,我给您的印象是您做的一切正确,并且Cisco VPN Server可以选择保存客户端设置为的密码。 disallow

我肯定知道存在这样的设置。


6
OS X客户端允许disallow设置仍然很令人讨厌。就像在没有DRM支持的情况下编译okular以便​​从同行评审的期刊中复制句子一样,这似乎在本质上是用户不友好的设置。
Landak '16

2

在我撰写本文时,这两个答案都具有它的权利,但是vpn命令行的存在意味着我们可以使用来解决这种用户友好的设计expect。感谢以前的答复者,GhostLyrics揭示了关闭密码保存的服务器端选项的存在,Hans揭示了vpn命令行客户端。

创建一个如下所示的文件:

#!/usr/bin/expect --
set timeout 10
set addr ""  # VPN Host
set user ""  # Username
set pass ""  # Password (ensure that special characters are escaped)
set group "" # Group NUMBER shown in connect prompt


spawn /opt/cisco/anyconnect/bin/vpn connect $addr
expect "\r\nGroup:*"
send -- "$group\r"
expect "\r\nUsername:*"
send -- "$user\r"
expect "Password: "
send -- "$pass\r"
expect eof

set照常填写字段。如果您的VPN像我的VPN,则在运行时会得到“组”列表vpn connect。手动运行一次,并记下与您要连接的组对应的号码。除非管理员添加/删除组,否则运行之间不会更改。您不能在此处使用名称,该程序需要一个数字。

填满所有内容后,请chmod +x运行该脚本。现在,我可以免提连接到我的VPN!


0

汉斯回答 随心所欲 -谢谢!-我想略微简化调用,绕过Terminal并以macOS状态菜单中的AnyConnect图标结束。(我使用的是莫哈韦语10.14.6。)

首先,启动终端,然后切换到AnyConnect应用程序二进制文件的目录:

$ cd "/Applications/Cisco/Cisco AnyConnect Secure Mobility Client.app/Contents/MacOS"

复制原始二进制文件:

$ sudo cp \
"Cisco AnyConnect Secure Mobility Client" \
"Cisco AnyConnect Secure Mobility Client.orig"

最后,覆盖了shell脚本的初始文件,改变VPN host你的VPN主机名或地址,userpa$$w0rd给您的凭证:

$ sudo cat > "Cisco AnyConnect Secure Mobility Client" <<'SCRIPT'
#!/bin/sh

# The AnyConnect vpn utility takes some options and commands or
# else runs interactively. The help command shows that -s reads
# a script from STDIN and that connect takes a host as argument.
# connect gets the username and password from STDIN. We will 
# supply them from a heredoc with the -s option.

/opt/cisco/anyconnect/bin/vpn -s \
connect "VPN host" <<'CREDENTIALS'
user
pa$$w0rd
CREDENTIALS

exec "$0.orig"  # invoke the original app
SCRIPT

现在,您应该能够像往常一样从Spotlight或Finder运行AnyConnect。首先,我们的脚本将连接,然后将执行移交给应用程序二进制文件,因此AnyConnect将出现在桌面的“状态菜单”上。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.