SXAccessSXAccessDoku
Dashboard öffnen

Unter macOS installieren

Die CLI auf einem Mac: ein Skript, ein Systemdienst und alles, was ein Mac braucht, an dem niemand sitzt.

shell - installieren
curl -fsSL https://pkgs.sxaccess.com/install.sh | sh

Dasselbe 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.

shell - verbinden
sxaccess start

Wo was liegt

PfadInhalt
/usr/local/bin/sxaccessCLI und Agent in einer Binärdatei
/Library/LaunchDaemons/sxaccess.plistDer LaunchDaemon, der den Agenten ausführt
/var/run/sxaccess.sockDer 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.logDas Log des Agenten
/var/log/sxaccess.out.log, /var/log/sxaccess.err.logWas launchd aus der Standardausgabe und der Standardfehlerausgabe des Agenten aufzeichnet
utun217Die Tunnel-Schnittstelle, die der Agent anlegt
UDP 51820Der 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.

shell - läuft der Agent?
sxaccess agent info
shell - den Agenten neu starten
sudo sxaccess agent restart
shell - den Agenten stoppen
sudo sxaccess agent stop
shell - den Agenten starten
sudo sxaccess agent start
shell - das Log des Agenten mitlesen
sudo tail -f /var/log/sxaccess/client.log

sxaccess start und sxaccess stop verbinden und trennen den Mac, ohne den Dienst anzufassen.

shell - verbinden, dann die Details anzeigen
sxaccess start && sxaccess info -d
shell - trennen
sxaccess stop

Ein 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.

shell - mit Schlüssel registrieren
sxaccess start --enrollment-key-file ~/sxaccess-key \  --hostname build-mac-01

Den 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:

shell - zurücksetzen, vor dem Dashboard
sxaccess stopsxaccess store reset --allsudo sxaccess agent stop

Lö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.

shell - zurücksetzen, nach dem Dashboard
rm -rf "$HOME/Library/Application Support/sxaccess"sudo rm -rf /var/lib/sxaccess &&  sudo sxaccess agent start &&  sxaccess start

Deinstallieren

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.

shell - deinstallieren, Identität dieses Macs behalten
sudo sxaccess uninstall
shell - deinstallieren und Identität entfernen
sudo sxaccess uninstall --purge
shell - deinstallieren, Einstellungen, Logs und Identität behalten
sudo sxaccess uninstall --keep-data