Mik*_*keZ 12 security vpn automation cisco-anyconnect
我在使用 Cisco AnyConnect v3.1 时在自动登录方面遇到了一些困难。我必须每天整天保持连接到一台服务器,如果我不必每天都挖掘我的 16 个字符的密码,那就太棒了。我希望客户端自动登录,但我现在还不确定是否有可能。
我应该注意到 AnyConnect 软件是由我们的托管公司提供给我的,我和我组织中的任何人都可以访问事物的管理方面。我确实看到 Internet 上有一款名为“AnyConnect 配置文件编辑器”的软件,但 Cisco 不会让我在没有有效登录名的情况下下载。
我一直在%appdata%\local\cisco\cisco anyconnect secure mobility client\preferences.xml查看我的偏好以及%programdata%\Cisco\Cisco AnyConnect Secure Mobility Client\Profile\ANYCONNECT.XML查看我的个人资料设置。这些都没有显示我可以存储我的凭据的任何地方。我什至试图在某些地方插入我的密码,从而破坏了我的个人资料几次。那没用,去想办法。
最后,我发现这个论坛帖子似乎指定了客户端和服务器证书“指纹”以及称为 SDI 令牌的东西。
免责声明:我白天是一名前端 Web 开发人员,自从我不得不为自己做任何网络管理以来已经有很长一段时间了,抱歉这个菜鸟问题!
RAD*_*ADA 18
这是我启动 Cisco AnyConnect 移动客户端 v3.1 并自动登录的脚本。将此脚本另存为FILENAME.vbs,将PASSWORD替换 为您的密码,如果需要(可能不是)替换 VPN Client exe 的路径,并且您可能还需要根据您的连接速度调整第二个睡眠时间(我的作品可靠地为 5000,但您的电话可能需要更少/更多的时间拨回家)。我已将我的固定到我的任务栏,但您也可以热键。
Set WshShell = WScript.CreateObject("WScript.Shell")
WshShell.Run """%PROGRAMFILES(x86)%\Cisco\Cisco AnyConnect Secure Mobility Client\vpnui.exe"""
WScript.Sleep 3000
WshShell.AppActivate "Cisco AnyConnect Secure Mobility Client"
WshShell.SendKeys "{TAB}"
WshShell.SendKeys "{TAB}"
WshShell.SendKeys "{ENTER}"
WScript.Sleep 5000
WshShell.SendKeys "PASSWORD"
WshShell.SendKeys "{ENTER}"
Run Code Online (Sandbox Code Playgroud)
我沿着这些路线使用一些东西:
set FILE=%TEMP%\tmp
echo connect your.host.name> %FILE%
(echo 0)>> %FILE%
echo yourUserName>> %FILE%
echo yourPassWord>> %FILE%
"C:\Program Files\Cisco\Cisco AnyConnect Secure Mobility Client\vpncli.exe" -s < %FILE%
Run Code Online (Sandbox Code Playgroud)
(更新:为什么要在括号周围echo 0?这应该提醒您,当做出与 不同的选择时0,那个1>or2>具有特殊含义,分别重定向stdoutor stderr,但不回显1or 2。所以我们保持安全的一面(echo 0)。)
这更简洁一点:
(echo connect your.host.name& echo 0& echo yourUserName& echo yourPassWord& echo.) > %FILE%
more %FILE% | "C:\Program Files\Cisco\Cisco AnyConnect Secure Mobility Client\vpncli.exe" -s
Run Code Online (Sandbox Code Playgroud)
但是,如果您想在没有临时文件的情况下实现相同的目的,这对我不起作用 - 我会感兴趣,为什么:
(echo connect your.host.name& echo 0& echo yourUserName& echo yourPassWord) | "%ProgramFiles(x86)%\Cisco\Cisco AnyConnect Secure Mobility Client\vpncli.exe" -s
Run Code Online (Sandbox Code Playgroud)
更新:这有效,通过/sf/answers/2082340641/找到:
(echo connect your.host.name^& echo 0^& echo yourUserName^&echo yourPassWord^&rem.) | "%ProgramFiles(x86)%\Cisco\Cisco AnyConnect Secure Mobility Client\vpncli.exe" -s
Run Code Online (Sandbox Code Playgroud)
当然,所有这些变体都取决于您的服务器配置(尤其是您必须选择的 VPN 组)。要找出您需要输入的内容,请在vpncli.exe不带任何参数的情况下调用一次,以 开头connect your.host.name,然后记下提示您输入的内容。
更新:这具有额外的优势,即在服务器、用户名和密码方面提供完全自由,并且不依赖于任何睡眠值(如果您的系统往往忙于其他事情,这总是很困难)。
| 归档时间: |
|
| 查看次数: |
27518 次 |
| 最近记录: |