如何从命令行启动VPN连接?


9

我想通过从命令行启动VPN连接来保存一些鼠标单击和击键。Mac OS X中是否有用于此的工具?理想情况下,它应该接受VPN连接名称和密码并启动VPN连接。

更新:我正在谈论Cisco IPSec VPN的内置VPN客户端。


1
有许多VPN协议。我们是在谈论内置VPN实施支持的协议(PPTP,L2TP还是Cisco)?
索伦Kuklau

是的,我说的是Mac中的内置VPN客户端,特别是“ Cisco IPSec”。
PeterŠtibraný11年

Answers:


10

最好的选择似乎是AppleScript:

tell application "System Events"
   tell current location of network preferences
       set VPNservice to service "VPN (L2TP) 2" -- name of the VPN service
       if exists VPNservice then connect VPNservice
   end tell
end tell

(来自http://macscripter.net/viewtopic.php?id=22992

至于输入用户名和密码,我不确定您怎么做。进一步的脚本编写可能会将您带到最前面的窗口,并输入用户名和密码,然后提交对话框,但是由于我没有要测试的Cisco VPN,所以我无法告诉您如何进行设置。

如果您安装了实际的Cisco VPN客户端(不需要afaik),则可以使用以下命令:

open /Applications/VPNClient.app --args -c -user <YourUsername> -pwd <YourPassword> <ProfileNameToConnect>

我没有安装其他Cisco VPN客户端,我在Mac中使用内置VPN。谢谢,我会尝试的。
PeterŠtibraný11年

我建议不要将密码放在命令行中。其他用户可以读取它。
bahamat 2011年

@bahamat,当然,但是由于我是计算机上的唯一用户,所以我不在乎。
PeterŠtibraný11年

正是我要找的东西,但是当我尝试该脚本时,我得到“语法错误:行尾预期但找到了标识符”,它突出显示了单词“位置”的首次出现。

@bahamat如果仅指定-c选项,则将在GUI窗口提示输入用户名和密码(用于默认配置文件)。
haridsv
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.