Unter macOS installieren
Die CLI auf einem Mac: ein Skript, ein Systemdienst und alles, was ein Mac braucht, an dem niemand sitzt.
curl -fsSL https://pkgs.sxaccess.com/install.sh | shDasselbe Skript, das die CLI auf einem Linux-Server installiert, installiert sie auch auf einem Mac, mit Apple Silicon oder Intel, als /usr/local/bin/sxaccess. Es registriert den Agenten als LaunchDaemon und startet ihn; launchd führt den Agenten also ab dem Systemstart aus, ob jemand angemeldet ist oder nicht. Das Skript braucht Root-Rechte und fragt über sudo nach Ihrem Passwort. Führen Sie es deshalb für sich allein aus und warten Sie, bis es fertig ist. Ein erneuter Aufruf ersetzt die installierte Version an Ort und Stelle; so aktualisieren Sie SXAccess. Die Optionen des Installers sind dieselben wie unter Linux.
Verbinden Sie danach den Mac: sxaccess start öffnet Ihren Browser, damit Sie sich anmelden können. Ein Mac, an dem sich niemand anmeldet, registriert sich stattdessen mit einem Schlüssel, siehe Ein Mac, an dem niemand sitzt. Für einen Mac, an dem täglich jemand arbeitet, ist die SXAccess-App die einfachere Wahl.
sxaccess startWo was liegt
| Pfad | Inhalt |
|---|---|
/usr/local/bin/sxaccess | CLI und Agent in einer Binärdatei |
/Library/LaunchDaemons/sxaccess.plist | Der LaunchDaemon, der den Agenten ausführt |
/var/run/sxaccess.sock | Der Socket, über den die CLI mit dem Agenten kommuniziert |
/var/lib/sxaccess/ | Was der Agent speichert. default.json ist die Identität dieses Macs: seine Schlüssel und Einstellungen. state.json verzeichnet die Systemänderungen des Agenten, damit er sie rückgängig machen kann. Je lokalem Benutzer gibt es einen Ordner mit den über sxaccess identity add angelegten Identitäten und den Registrierungen in anderen Organisationen |
~/Library/Application Support/sxaccess/ | Je Benutzer: welche Identität die CLI verwendet und mit welcher E-Mail-Adresse sich jede Identität angemeldet hat |
/var/log/sxaccess/client.log | Das Log des Agenten |
/var/log/sxaccess.out.log, /var/log/sxaccess.err.log | Was launchd aus der Standardausgabe und der Standardfehlerausgabe des Agenten aufzeichnet |
utun217 | Die Tunnel-Schnittstelle, die der Agent anlegt |
| UDP 51820 | Der Port, auf dem der Tunnel lauscht. Ist er belegt, wählt der Agent einen anderen |
Den Dienst verwalten
Den Agenten führt launchd aus; die systemctl-Befehle, die Sie vielleicht von Linux kennen, gelten hier also nicht. Stattdessen verwalten ihn die agent-Befehle; außer agent info brauchen sie sudo. agent info meldet Agent service: Running, solange der Agent läuft.
sxaccess agent infosudo sxaccess agent restartsudo sxaccess agent stopsudo sxaccess agent startsudo tail -f /var/log/sxaccess/client.logsxaccess start und sxaccess stop verbinden und trennen den Mac, ohne den Dienst anzufassen.
sxaccess start && sxaccess info -dsxaccess stopEin Mac, an dem niemand sitzt
Auf einem Mac, an dem sich niemand anmeldet, gibt es keinen Browser zu öffnen; registrieren Sie ihn also mit einem Registrierungsschlüssel. Ein mit Schlüssel registriertes Gerät hat keinen Eigentümer, und seine Sitzung läuft nie ab. Für einen einmaligen Aufruf übergeben Sie den Schlüssel mit --enrollment-key; kommt er aus einem Secret-Store, verweisen Sie mit --enrollment-key-file auf eine Datei: So taucht er weder in ps noch in der Shell-Historie auf. Der Befehl sxaccess liest die Datei selbst; sorgen Sie also dafür, dass nur das Konto, das den Befehl ausführt, sie lesen kann. SX_ENROLLMENT_KEY funktioniert ebenfalls, wie unter Linux.
sxaccess start --enrollment-key-file ~/sxaccess-key \ --hostname build-mac-01Den Agenten zurücksetzen
Die Identität eines Macs ist sein privater Schlüssel, gespeichert in /var/lib/sxaccess/default.json. Setzen Sie den Agenten zurück, wenn diese Identität nicht weiterverwendet werden soll. Das ist etwa der Fall bei einem Mac, der an jemand anderen geht oder dauerhaft in eine andere Organisation wechselt, oder bei einem Zustand, den ein erneutes sxaccess start nicht mehr in Ordnung bringt. Eine abgelaufene Sitzung braucht das nicht; sxaccess start erneuert sie.
Die Schritte sind dieselben wie unter Linux, und der Mac erscheint danach als neues Gerät, mit neuem Schlüssel und neuer Overlay-Adresse. Trennen Sie zuerst die Verbindung, machen Sie die vom Agenten aufgezeichneten DNS- und Routenänderungen rückgängig und stoppen Sie den Agenten:
sxaccess stopsxaccess store reset --allsudo sxaccess agent stopLöschen Sie jetzt den Mac im Dashboard unter Devices. Das widerruft den alten Schlüssel und gibt den DNS-Namen des Macs frei: Solange der alte Eintrag besteht, erhält ein neues Gerät diesen Namen mit zwei angehängten Zahlen.
Löschen Sie dann den Zustand des Agenten, den dieser beim Start neu anlegt, und ~/Library/Application Support/sxaccess, wo verzeichnet ist, welche Identität die CLI verwendet. Starten Sie den Agenten und melden Sie sich erneut an. Auf einem Mac, an dem sich niemand anmeldet, lautet der letzte Befehl stattdessen sxaccess start --enrollment-key-file <datei>, wie unter Ein Mac, an dem niemand sitzt.
rm -rf "$HOME/Library/Application Support/sxaccess"sudo rm -rf /var/lib/sxaccess && sudo sxaccess agent start && sxaccess startDeinstallieren
Anders als unter Linux gibt es dafür einen einzigen Befehl. sudo sxaccess uninstall stoppt den Agenten und entfernt den LaunchDaemon, den Socket und die Binärdatei. Der Befehl löscht die Logs und die Einstellungen und setzt /var/lib/sxaccess so zurück, dass nur die Identität dieses Macs bleibt: seine Schlüssel und die Organisation, in der er registriert ist. Wenn Sie erneut installieren und sich anmelden, erscheint der Mac wieder als dasselbe Gerät statt als neues.
Mit --purge entfernen Sie auch die Identität, sodass die nächste Anmeldung ein neues Gerät anlegt. Nutzen Sie das, wenn der Mac Ihre Organisation dauerhaft verlässt, und löschen Sie das Gerät unter Devices im Dashboard; damit wird sein Schlüssel widerrufen. --keep-data behält dagegen alles: Einstellungen, Logs und Identität, wie bei einer Aktualisierung.
sudo sxaccess uninstallsudo sxaccess uninstall --purgesudo sxaccess uninstall --keep-data
