J'ai deux configurations VPN sur mon mac et j'aimerais pouvoir les démarrer à partir de la console lorsque je ssh sur ma machine.
J'ai trouvé la commande networksetup
qui me permet de configurer des connexions, mais pour autant que je sache, n'en commencez pas.
Utiliser Lion.
macos
command-line
vpn
osx-lion
Ketema
la source
la source
Réponses:
Pour les versions plus récentes de macOS, une commande très simple peut être utilisée, comme indiqué dans les réponses ci-dessous, par exemple celle-ci (donnez-lui un +1!).
Tout ce dont tu as besoin c'est:
Le seul problème est que vous ne pouvez pas vous déconnecter à l'aide de cette commande.
Vous pouvez également utiliser AppleScript pour vous connecter aux services VPN de votre choix. Nous utiliserons les fonctions du shell, disponibles à partir de la ligne de commande, une fois qu'elles sont chargées.
Ajoutez les fonctions ci-dessous à votre
~/.bash_profile
ou~/.profile
(peu importe ce que vous utilisez).Il vous suffit de changer le nom de la connexion VPN elle-même, telle qu'elle apparaît dans les préférences Réseau . J'ai utilisé mon VPN universitaire ici.
Vous pouvez également modifier le nom des fonctions si vous souhaitez le faire pour différentes. Il serait peut-être possible de raccourcir cela en utilisant des arguments, mais cela fonctionne très bien de cette façon. Je l'ai testé sur Snow Leopard (mais Leopard et Lion devraient également fonctionner).
Une fois les fonctions ajoutées, rechargez le terminal et appelez-les respectivement avec
vpn-connect
etvpn-disconnect
.la source
vpn-connect && git fetch && vpn-disconnect
. Pensez-vous qu'il existe un moyen de faire cela?vpn-connect
je l’ appelle jette un messagesyntax error: Expected end of line but found identifier. (-2741)
mais après l’avoir convertie en une application avec l’éditeur AppleScript et l’appelopen vpn-connect.app
fonctionne. Cependant, s'il n'y a pas de session graphique active de cet utilisateur, unLSOpenURLsWithRole() failed with error -10810
est lancé lors de son appel via SSH.Vous pouvez également, à partir d’au moins Lion 1 , utiliser la commande scutil.
Par exemple, si j'ai un service VPN nommé "Foo", je pourrais me connecter via:
Je peux éventuellement spécifier un utilisateur, un mot de passe et un secret en utilisant des drapeaux du même nom:
Le service peut être déconnecté via:
Pour une aide plus détaillée, vous pouvez voir la page de manuel ou exécuter:
Mise à jour
Ajout d’un script rapide à interroger jusqu’à ce que la connexion soit établie (en réponse au commentaire de Eric B.
Notes de bas de page:
la source
--user
, pas--username
scutil --nc stop Foo
ne fonctionne pas (sur Yosemite)?Je n'ai pas testé cela sous Lion, mais j'utilise la commande suivante sous Mountain Lion sans problème:
la source
scutil
pas!scutil
cela ne prend aucune des données sauvegardées, ce qui est pénible.J'ai juste utilisé le script ci-dessus de slhck (qui est clairement un dieu en or) pour créer ce script ruby astucieux qui pourrait être utilisé pour toutes sortes de choses
la source
Vous pouvez utiliser
networksetup -connectpppoeservice "myvpn"
pour vous connecter à un vpn nommé myvpn etnetworksetup -disconnectpppoeservice "myvpn"
pour vous déconnecter du vpn nommé myvpnAvant d’utiliser ces lignes de commande, vous devez configurer manuellement une connexion dans Préférences Système> Réseau.
la source
Fonctionne sur MacOS 10.14.5 Mojave:
Connect VPN : Utilisez la réponse de @ slhck ->
networksetup -connectpppoeservice "VPN Name"
Déconnecter le VPN : de la réponse de @ encoded ->
scutil --nc stop "VPN Name"
Cela a fonctionné pour mon L2TP sur VPN IPSEC. Je n'ai pas testé les VPN IPSEC ou IKEv2 de Cisco
la source