Tenho duas configurações de VPN no meu mac e gostaria de poder iniciá-las a partir do console quando fizer o ssh na minha máquina.
Eu encontrei o comando networksetup
que me permite configurar conexões, mas até onde eu sei, não inicio uma.
Usando o Lion.
macos
command-line
vpn
osx-lion
Ketema
fonte
fonte
Respostas:
Para versões mais recentes do macOS, um comando muito simples pode ser usado, como mostrado nas respostas abaixo, por exemplo, esta (dê um +1!).
Tudo o que você precisa é:
O único problema é que você não pode desconectar usando este comando.
Você também pode usar o AppleScript para se conectar aos serviços VPN de sua escolha. Usaremos funções shell, que estão disponíveis na linha de comando, uma vez carregadas.
Adicione as funções abaixo ao seu
~/.bash_profile
ou~/.profile
(o que você usar).Você só precisa alterar o nome da conexão VPN, como aparece nas preferências de rede . Eu usei minha VPN da universidade aqui.
Você também pode alterar os nomes das funções, se desejar fazê-lo para diferentes. Pode ser possível reduzi-lo usando argumentos, mas funciona bem dessa maneira. Eu testei no Snow Leopard (mas Leopard e Lion também devem funcionar).
Depois de adicionar as funções, recarregue o terminal e chame-as com
vpn-connect
evpn-disconnect
, respectivamente.fonte
vpn-connect && git fetch && vpn-disconnect
. Você acha que há uma maneira de fazer isso?vpn-connect
, lança umsyntax error: Expected end of line but found identifier. (-2741)
mas depois de convertê-lo em um Aplicativo com o editor AppleScript e chamá-open vpn-connect.app
lo funciona. No entanto, se não houver uma sessão GUI ativa desse usuário, aLSOpenURLsWithRole() failed with error -10810
é lançada ao chamá-la via SSH.Você também pode, pelo menos no Lion 1 , usar o comando scutil.
Por exemplo, se eu tiver um serviço VPN denominado "Foo", eu poderia conectar via:
Opcionalmente, posso especificar um usuário, senha e segredo usando sinalizadores com os mesmos nomes:
O serviço pode ser desconectado via:
Para obter ajuda mais detalhada, você pode ver a página do manual ou executar:
Atualizar
Adicionando um script rápido à pesquisa até que a conexão seja estabelecida (em resposta ao comentário de Eric B.
Notas de rodapé:
fonte
--user
, não--username
scutil --nc stop Foo
que não funciona (em Yosemite)?Não testei isso no Lion, mas estou usando o seguinte comando no Mountain Lion sem nenhum problema:
fonte
scutil
não!scutil
não aceita nenhum dado salvo, o que é uma dor.Acabei de usar o script acima do slhck (que é claramente um deus de ouro) para criar esse script ruby bacana que poderia ser usado para todo tipo de coisa
fonte
Você pode usar
networksetup -connectpppoeservice "myvpn"
para conectar-se a um vpn chamado myvpn enetworksetup -disconnectpppoeservice "myvpn"
para desconectar-se do vpn chamado myvpnAntes de usar essas linhas de comando, você precisa configurar manualmente uma conexão em Preferências do Sistema> Rede
fonte
Funciona no MacOS 10.14.5 Mojave:
Conectar VPN : use a resposta de @ slhck ->
networksetup -connectpppoeservice "VPN Name"
Desconectar VPN : da resposta da @ codificada ->
scutil --nc stop "VPN Name"
Isso funcionou para o meu L2TP sobre VPN IPSEC. Eu não testei as VPNs Cisco IPSEC ou IKEv2
fonte