Ich habe zwei VPN-Konfigurationen auf meinem Mac und möchte sie von der Konsole aus starten können, wenn ich auf meinem Computer ssh bin.
Ich habe den Befehl gefunden, networksetup
der es mir erlaubt, Verbindungen zu konfigurieren, aber soweit ich das beurteilen kann, startet man eigentlich nicht.
Lion verwenden.
macos
command-line
vpn
osx-lion
Ketema
quelle
quelle
Antworten:
Für neuere MacOS-Versionen kann ein sehr einfacher Befehl verwendet werden, wie in den folgenden Antworten gezeigt, z. B. dieser (geben Sie +1!).
Alles was Sie brauchen ist:
Das einzige Problem ist, dass Sie die Verbindung mit diesem Befehl nicht trennen können.
Sie können auch AppleScript verwenden, um eine Verbindung zu den VPN-Diensten Ihrer Wahl herzustellen. Wir werden Shell-Funktionen verwenden, die über die Befehlszeile verfügbar sind, sobald sie geladen sind.
Fügen Sie die folgenden Funktionen zu Ihrem
~/.bash_profile
oder hinzu~/.profile
(was auch immer Sie verwenden).Sie müssen lediglich den Namen der VPN-Verbindung selbst ändern, wie er in den Netzwerkeinstellungen angezeigt wird . Ich habe hier mein Uni-VPN benutzt.
Sie können auch die Namen der Funktionen ändern, wenn Sie dies für verschiedene Funktionen tun möchten. Es ist möglich, dies mit Argumenten zu verkürzen, aber auf diese Weise funktioniert es einwandfrei. Ich habe es auf Snow Leopard getestet (aber Leopard und Lion sollten auch funktionieren).
Sobald Sie die Funktionen hinzugefügt haben, laden Sie das Terminal und rufen sie mit
vpn-connect
undvpn-disconnect
bezeichnet.quelle
vpn-connect && git fetch && vpn-disconnect
. Glauben Sie, dass es einen Weg gibt, dies zu tun?vpn-connect
essyntax error: Expected end of line but found identifier. (-2741)
aufruft, wird ein ausgelöst, aber nachdem ich es mit dem AppleScript-Editor in eine Anwendung konvertiert habe und es aufrufeopen vpn-connect.app
, funktioniert es. Wenn jedoch keine aktive GUI-Sitzung dieses Benutzers vorhandenLSOpenURLsWithRole() failed with error -10810
ist, wird beim Aufrufen über SSH ein ausgelöst.Ab Lion 1 können Sie auch den Befehl scutil verwenden.
Wenn ich zum Beispiel einen VPN-Dienst namens "Foo" habe, könnte ich eine Verbindung herstellen über:
Ich kann optional einen Benutzer, ein Kennwort und ein Geheimnis mithilfe von Flags mit demselben Namen angeben:
Der Dienst kann getrennt werden über:
Weitere Informationen finden Sie auf der Manpage oder unter:
Aktualisieren
Hinzufügen eines schnellen Skripts zum Abfragen, bis die Verbindung hergestellt ist (als Antwort auf den Kommentar von Eric B.
Fußnoten:
quelle
--user
nicht--username
scutil --nc stop Foo
nicht funktioniert (auf Yosemite)?Habe das noch nicht unter Lion getestet, aber ich verwende folgenden Befehl unter Mountain Lion ohne Probleme:
quelle
scutil
nicht!scutil
gespeicherten Daten nicht übernommen werden, was schmerzhaft ist.Ich habe gerade das obige Skript von slhck (der eindeutig ein goldener Gott ist) verwendet, um dieses raffinierte Rubinskript zu erstellen, das für alle möglichen Dinge verwendet werden kann
quelle
Mit können Sie
networksetup -connectpppoeservice "myvpn"
eine Verbindung zu einem VPN mit dem Namen myvpn herstellen und die Verbindungnetworksetup -disconnectpppoeservice "myvpn"
zu dem VPN mit dem Namen myvpn trennenBevor Sie diese Befehlszeilen verwenden können, müssen Sie eine Verbindung in den Systemeinstellungen> Netzwerk manuell konfigurieren
quelle
Funktioniert unter MacOS 10.14.5 Mojave:
VPN verbinden : Verwenden Sie die Antwort von @ slhck ->
networksetup -connectpppoeservice "VPN Name"
VPN trennen : Aus der Antwort von @ encoded ->
scutil --nc stop "VPN Name"
Dies funktionierte für mein L2TP über IPSEC VPN. Ich habe Cisco IPSEC- oder IKEv2-VPNs nicht getestet
quelle