Como iniciar a conexão VPN a partir da linha de comando?

9

Gostaria de salvar alguns cliques e pressionamentos de teclas iniciando a conexão VPN na linha de comando. Existe ferramenta para isso no Mac OS X? Idealmente, ele deve aceitar o nome e a senha da conexão VPN e iniciar a conexão VPN.

Atualização: Eu estou falando sobre o cliente VPN incorporado para Cisco IPSec VPN.

Peter Štibraný
fonte
1
Existem vários protocolos VPN. Estamos falando dos protocolos suportados pela implementação VPN integrada (PPTP, L2TP ou Cisco)?
Sören Kuklau
Sim, estou falando do cliente VPN incorporado no Mac, especificamente "Cisco IPSec".
Peter Štibraný

Respostas:

10

Sua melhor aposta parece ser 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

(em http://macscripter.net/viewtopic.php?id=22992 )

Quanto à inserção de um nome de usuário e senha, não tenho certeza de como você poderia fazer isso. Os scripts adicionais podem levá-lo à janela da frente, inserir o nome de usuário e a senha e enviar a caixa de diálogo, mas como eu não tenho uma VPN da Cisco para testar, não sei dizer como configurá-lo.

Se você possui o cliente Cisco VPN real instalado (o que não é necessário), você pode apenas usar este comando:

open /Applications/VPNClient.app --args -c -user <YourUsername> -pwd <YourPassword> <ProfileNameToConnect>
Dan Udey
fonte
Não tenho um cliente Cisco VPN adicional instalado, uso a VPN integrada no Mac. Obrigado, vou tentar isso.
Peter Štibraný
Eu recomendaria não colocar a senha na linha de comando. Pode ser lido por outros usuários.
bahamat
@ Bahamat, claro, mas como sou o único usuário no meu computador, não me importo.
Peter Štibraný
Exatamente o que eu estava procurando, MAS Ao tentar esse script, recebo "Erro de sintaxe: identificador de final de linha esperado mas encontrado" e destaca a primeira ocorrência da palavra "local".
@bahamat se você especificar apenas a -copção, receberá o prompt da janela da GUI para o nome de usuário e a senha (para o perfil padrão).
haridsv