Clients zu opsi hinzufügen

Damit Rechner mit opsi verwaltet werden können, müssen Sie dem System bekannt sein. Außerdem muss auf diesen Rechnern ein Agent laufen, damit eine Kommunikation zwischen Server und Client möglich ist. Ohne diesen Agent ist keine Verwaltung möglich.

Je nachdem in welcher Umgebung opsi eingesetzt werden soll, gibt es unterschiedliche Vorgehensweisen. Existieren in der Umgebung bereits Clients mit installiertem Betriebssystem, die ab sofort mit opsi verwaltet werden sollen, so können diese auf unterschiedlichen Wegen integriert werden.

Die Alternative hierzu ist, dass die zu verwalteten Rechner von opsi aus mit einem neuen Betriebssystem ausgestattet werden. Im Rahmen dieser Betriebssysteminstallation wird von opsi der benötigte Agent gleich mitinstalliert, allerdings wird dabei alle eventuell vorher vorhandene Software (inkl. Betriebssystem) entfernt. Bei diesem Vorgehen fügen Sie zuerst einen Client zu opsi hinzu und führen anschließend eine Betriebssysteminstallation durch.

Anlegen eines neuen opsi-Clients

Zur Verwaltung von Rechnern müssen diese dem opsi-Server bekannt sein. Dieses Kapitel beschreibt unterschiedliche Möglichkeiten einen Client in opsi für eine spätere Verwaltung anzulegen. Dies ist besonders dann hilfreich, wenn anschließend auf dem Rechner mittels opsi ein Betriebssystem installiert werden soll.

Für die Aufnahme von Clients mit bereits installiertem Betriebssystem lesen Sie bitte das Kapitel zur Integration vorhandener Clients.

Anlegen eines neuen opsi-Clients über die grafische Management-Oberfläche

Den Client können Sie mit der grafischen Oberfläche opsi-configed zum opsi-Server hinzufügen.

Wählen Sie den Menü-Punkt OpsiClient / Neuen opsi-Client erstellen und geben Sie ein:

  • Client-Name

  • DNS Domäne (falls abweichend von der Vorgabe)

  • Beschreibung

  • IP-Adresse (wird benötigt, falls kein DNS zur Namensauflösung für diesen Client verwendet werden kann)

  • MAC-Adresse (wird benötigt, falls der opsi-Server DHCP-Server ist oder PXE boot mit dem Client durchgeführt werden soll).

Nach Eingabeabschluss wird der Client dem opsi-Server bekanntgemacht und gleichzeitig, falls der opsi-Server DHCP Server ist, in der DHCP-Konfiguration als PXE-Client angelegt.

Die Liste der eingerichteten opsi-Clients kann jederzeit im opsi-configed Modus Client-Konfiguration unter dem Reiter Client-Auswahl eingesehen werden.

Anlegen eines neuen opsi-Clients über die Kommandozeile

Ein Client kann auf der Kommandozeile per opsi-admin erzeugt werden.

Die Syntax ist die folgende:

opsi-admin -d method host_createOpsiClient <client-id> [opsiHostKey] [description] [notes] [hardwareAddress] [ipAddress] [inventoryNumber] [oneTimePassword] [created] [lastSeen]

Fehlende Werte verwenden in der Regel einen Standardwert - die meisten Felder sind dann leer.

Der folgende Befehl wird den Client testclient.domain.local mit einem zufälligen Host Schlüssel, der Beschreibung Testclient, keinen Notizen, der MAC-Addresse 00:0c:29:12:34:56 und der IP-Adresse 192.0.2.1 anlegen:

opsi-admin -d method host_createOpsiClient testclient.domain.local "null" "Testclient" "" 00:0c:29:12:34:56 192.0.2.1

Anlegen eines neuen opsi-Clients mithilfe der opsi-client-bootcd

Auf der Downloadseite von uib finden Sie unter https://download.uib.de/opsi4.2/boot-cd/ verschiedene ISO-Abbilder der 'opsi-client-boot-cd'. Laden Sie sich das Neueste herunter und brennen es auf eine CD.

Starten Sie den Rechner von der CD. Sie sollten dann folgendes Bild sehen:

Screenshot: Startbild opsi-client-boot-cd
Abbildung 1. Startbild opsi-client-boot-cd

Wählen Sie Opsi starten. Nach einer Weile wird folgender Bildschirm erscheinen. Wenn Ihr DHCP-Server IP-Adressen an unbekannte Rechner vergibt ist die Maske schon weitgehend ausgefüllt. Ansonsten müssen Sie es von Hand tun. In der Regel müssen Sie mindestens den Hostnamen vergeben.

Screenshot: bootimage/boot-cd Konfigurationsmaske
Abbildung 2. bootimage/boot-cd Konfigurationsmakse

Wählen Sie dann OK.

Screenshot: bootimage/boot-cd Auswahl Erstellungsmethode
Abbildung 3. bootimage/boot-cd Auswahl Erstellungsmethode

Wählen Sie dann Admin account. Sie erklären damit, dass der Client sich selbst beim opsi-Server anmelden und erstellen soll. Dieser Vorgang muss natürlich autorisiert werden.

Screenshot: bootimage/boot-cd Authentifizierungsmaske
Abbildung 4. bootimage/boot-cd Authentifizierungsmaske

Sie erhalten daher eine Loginmaske, bei der Sie sich als ein Mitglied der Gruppe opsiadmin-Gruppe authentifizieren müssen. Wenn dies Erfolgreich war, so teilt der Client dem Server seine Daten mit und der Client wird auf der Serverseite automatisch erstellt. Als nächstes fragt der Client die Liste der verfügbaren netboot Produkte ab und stellt Sie Ihnen zur Auswahl zur Verfügung.

Screenshot: bootimage/boot-cd netboot Produktauswahl
Abbildung 5. bootimage/boot-cd netboot Produktauswahl

Integration vorhandener macOS-Clients in opsi

Um vorhandene macOS-Clients in opsi aufzunehmen, muss auf diesen der opsi-client-agent installiert werden. Dies kann auf mehrere Arten durchgeführt werden. Nachdem Sie, wie im Folgenden beschrieben, den opsi-client-agent installiert haben, erscheint der Client auch in der Client-Liste des opsi-configed, sofern Sie ihn dort noch nicht hinzugefügt hatten.

Grundsätzlich gibt es die Möglichkeit die Installation des Agenten auf dem Client auszuführen oder vom Server aus die Installation anzustoßen.

Das Ausführen der Installation direkt auf dem Client eignet sich für einzelne Rechner. Für einen Massen-Rollout des Agenten eignet sich grundsätzlich der opsi-deploy-client-agent besser, wenn die dazu nötigen Freischaltungen auf den Mac-Clients vorhanden sind.

Falls bereits eine andere Möglichkeit existiert Software zu verteilen, so ist es ebenfalls möglich darüber den opsi-client-agent zu verteilen.

Sobald der Agent installiert ist, können vorhandene opsi-Produkte auf diesen Clients installiert werden.

Verwendung des opsi-client-agent-installer auf macOS

  1. Loggen Sie sich mit auf dem Client ein.

  2. Laden Sie den Installer von ihrem configserver herunter. Der Installer liegt unter https://<fqdn_oder_ip_des_configservers>:4447/public/opsi-client-agent/ und hat den Dateinamen:
    Windows: opsi-client-agent-installer.exe
    Linux: opsi-linux-client-agent-installer.run
    macOS: opsi-mac-client-agent-installer.command

oca_installer_download
  1. Führen Sie den Installer aus (bei linux und macOS sind dabei root-Rechte erforderlich, also ggfs mit sudo - bei windows folgt später ggfs eine UAC Anfrage)

  2. Der Installer entpackt sich dann in ein temporäres lokales Verzeichnis und startet den enthaltenen oca-installation-helper.

oca_installer_start

Dieser zeigt ein Nutzer-Interface mit Eingabefeldern für Client-ID, Opsi Service URL, Username und Password. Soweit möglich (z.B. wenn auf dem Client eine vorhandene opsiclientd.conf gefunden wird) sind diese Felder vorausgefüllt, müssen aber gegebenenfalls noch manuell ergänzt oder angepasst werden.

  • Die Client-ID entspricht in der Regel dem FQDN des Clients.

  • Die opsi Service URL sollte das Format https://<fqdn_oder_ip_des_configservers>:4447 haben.

  • Username und Passwort sollten im Fall einer Erstinstallation des clients von einem Mitglied der Gruppe opsiadmin sein. Für eine Reinstallation kann hier auch die Client-Id und der pckey verwendet werden.

Nach dem Start des Installers über den Button Install, nimmt per opsi-Webservice Kontakt zum Server auf, um den Client beim Server zu registrieren. Anschließend wird das im Installer enthaltene opsi-script aufgerufen um den opsi-client-agent auf der Maschine zu installieren.

oca_installer_run

Nach Abschluß der Installation beendet sich der Installer.

Weitere Informationen zum opsi-client-agent Installer und seinen Kommandozeilenparametern und weiteren Möglichkeiten den opsi-client-agent zu installieren finden Sie im opsi-Handbuch im Kapitel Nachträgliche Installation des opsi-client-agents
https://download.uib.de/4.2/documentation/html/opsi-manual-v4.2/opsi-manual-v4.2.html#opsi-manual-clientagent-subsequent-installation

Verwendung von service_setup.sh auf macOS (Veraltet)

Die nachfolgend eschriebenen Methoden: service_setup / silent_setup dienen nur noch zur Abwärtskompatibilität zu opsi 4.1 und den entsprechenden opsi-client-agent Versionen 4.1. Bitte verwenden Sie soweit möglich den opsi-client-agent Installer.

Verwendung von service_setup.sh auf macOS (Erstinstallation)

Aufgrund der Sicherheitsrestriktionen von macOS ist die Möglichkeit Scripte von gemounteten shares auszuführen eingeschränkt. Der Versuch den im folgenden beschriebenen Vorgang mit über den Finder nach /Volumes (oder so) gemounteten share zu machen wird daher (je nach macOS Version) scheitern.

  • Loggen Sie sich auf dem Client ein.

  • Starten Sie das Terminal-Programm

  • Für die folgenden Befehle müssen Sie die folgenden Platzhalter ersetzen:

    • <username> mit Ihrem login Namen

    • <mnt> durch ein Verzeichnisnamen der noch nicht existiert z.B. 'mnt'

    • <serviceuser> durch einen Usernamen der auf dem opsi-server bekannt ist.

    • <servicepass> durch das Passwort des <serviceuser>. Sie können :<servicepass> zusammen mit der mount-Option -N auch weglassen, dann werden Sie nach dem Passwort gefragt

    • <opsi-server> durch den Namen oder die IP-Nummer des opsi-servers

sudo su
cd /Users/<username>
mkdir <mnt>
mount_smbfs //<serviceuser>@<opsi-server>/opsi_depot /Users/<username>/<mnt>
cd /Users/<username>/<mnt>/opsi-mac-client-agent
./service_setup.sh
cd
umount /Users/<username>/<mnt>

bzw. ohne Passwortabfrage

sudo su
cd /Users/<username>
mkdir <mnt>
mount_smbfs -N //<serviceuser>:<servicepass>@<opsi-server>/opsi_depot /Users/<username>/<mnt>
cd /Users/<username>/<mnt>/opsi-mac-client-agent
./service_setup.sh
cd
umount /Users/<username>/<mnt>

Beispiel:

sudo su
cd /Users/uib
mkdir mnt
mount_smbfs  //adminuser@sepia/opsi_depot /Users/uib/mnt
cd /Users/uib/mnt/opsi-mac-client-agent
./service_setup.sh
cd
umount /Users/uib/mnt
  1. Starten Sie von dem gemounteten share das Script opsi-mac-client-agent\service_setup.sh
    Bestätigen Sie mit 2 x Enter

  2. Das Skript kopiert die notwendigen Dateien in ein temporäres lokales Verzeichnis und startet dann zur eigentlichen Installation opsi-script.

  3. Das Skript nimmt per opsi-Webservice Kontakt zum Server auf um serverseitig den Client zu erzeugen und den pckey zu erfahren. Dies erfolgt zunächst mit der in der config.ini eingetragenen user/password Kombination. Schlägt dies fehl, so erscheint ein Login-Fenster mit Service-URL (opsi-configserver), Benutzername und Passwort. Hier wird ein Benutzer benötigt, der Mitglied der Gruppe 'opsiadmin' ist. Möglich ist auch ein Benutzer, welcher nur die Methode host_createOpsiClient ausführen darf.

Der Client benötigt nach der Installation ein Reboot um aktiv zu werden.
Der Reboot wird nicht automatisch ausgelöst.

Verwendung von service_setup.sh auf macOS (Reperaturinstallation)

  • Loggen Sie sich auf dem Client ein.

  • Starten Sie das Terminal-Programm

  • Für die folgenden Befehle müssen Sie die folgenden Platzhalter ersetzen:

    • <serviceuser> durch einen Usernamen der auf dem opsi-server bekannt ist.

    • <servicepass> durch das Passwort des <serviceuser>. Sie können :<servicepass> auch weglassen, dann werden Sie nach dem Passwort gefragt

    • <opsi-server> durch den Namen oder die IP-Nummer des opsi-servers

  • Bei der Erstinstallation hat opsi einen Versteckten Pseudo user Namens opsisetupadmin angelegt, in dessen 'Heimatverzeichnis' /var/opsisetupadmin sich auch das mount directory befindet.

sudo su
mount_smbfs -N //<serviceuser>:<servicepass>@<opsi-server>/opsi_depot /var/opsisetupadmin/opsi_depot
cd /var/opsisetupadmin/opsi_depot/opsi-mac-client-agent
./service_setup.sh
cd
umount /var/opsisetupadmin/opsi_depot

Beispiel:

sudo su
mount_smbfs -N //adminuser:linux123@sepia/opsi_depot /var/opsisetupadmin/opsi_depot
cd /var/opsisetupadmin/opsi_depot/opsi-mac-client-agent
./service_setup.sh
cd
umount /var/opsisetupadmin/opsi_depot
  1. Starten Sie das Script opsi-mac-client-agent\service_setup.sh
    Bestätigen Sie mit 2 x Enter

  2. Das Skript kopiert die notwendigen Dateien in ein temporäres lokales Verzeichnis und startet dann zur eigentlichen Installation opsi-script.

  3. Das Skript nimmt per opsi-Webservice Kontakt zum Server auf um serverseitig den Client zu erzeugen und den pckey zu erfahren. Dies erfolgt zunächst mit der in der config.ini eingetragenen user/password Kombination. Schlägt dies fehl, so erscheint ein Login-Fenster mit Service-URL (opsi-configserver), Benutzername und Passwort. Hier wird ein Benutzer benötigt, der Mitglied der Gruppe 'opsiadmin' ist. Möglich ist auch ein Benutzer, welcher nur die Methode host_createOpsiClient ausführen darf.

Der Client benötigt nach der Installation ein Reboot um aktiv zu werden.
Der Reboot wird nicht automatisch ausgelöst.

Verwendung von opsi-deploy-client-agent für macOS

Das opsi-deploy-client-agent Skript verteilt den opsi-client-agent direkt vom opsi-Server auf die Clients. Es ist hiermit einfach möglich eine große Menge an Clients vom Server aus in eine opsi-Umgebung zu integrieren. Voraussetzung hierfür sind bei den Clients:

  • Administrativer User mit Passwort

  • ein aktivierter ssh Zugang

Leider sind bei macOS die ssh Zugänge per default deaktiviert. Zur Verwendung des opsi-deploy-client-agent Befehls müssen diese Zugange daher erst aktiviert werden.

Die kann interaktiv in den 'System preferences / sharing' gemacht werden:

Aktivierung des ssh Zugangs

Auf der Kommandozeile kann dies wie folgt gemacht werden:

sudo launchctl load -w /System/Library/LaunchDaemons/ssh.plist

Eine Konrolle des aktuellen Status des ssh Zugangs ist möglich mit dem Befehl:

sudo systemsetup -getremotelogin

Die Deaktivierung des ssh Zugangs auf der Kommandozeile sieht wie folgt aus:

sudo launchctl unload /System/Library/LaunchDaemons/ssh.plist

Das opsi-deploy-client-agent Skript findet sich unter /var/lib/opsi/depot/opsi-client-agent
Führen Sie das Script mit 'root' Rechten aus oder als ein user, der Teil der Gruppe "opsifileadmins" ist. Falls das Script nicht ausführbar ist, so können Sie dieses Problem mit dem folgenden Befehl beheben:
opsi-set-rights /var/lib/opsi/depot/opsi-client-agent/opsi-deploy-client-agent

Das Skript erzeugt serverseitig den Client, kopiert die Installations-Dateien und Konfigurationsinformationen, wie bspw. den pckey, auf den Client und startet dort die Installation.
Die Installation läuft im Hintergrund ohne das ein User davon etwas bemerken muß.

Der Befehl opsi-deploy-client-agent hat eine Fülle von Aufrufparametern.
Bei allen nachfolgenden Beispielen wird davon ausgegangen, das Sie in das Stammverzeichnis des opsi-client-agent Produktes gewechselt sind:

cd /var/lib/opsi/depot/opsi-mac-client-agent

Typische Aufrufe sind:

  • Für einen einzelnen Client:

./opsi-deploy-client-agent -v --user=uib uib-mmini1

Ergibt folgende Ausgabe:

Password is required for deployment.
Password:
[5] [2021-02-04 16:43:43.121] [               ] Starting deployment to host uib-mmini1.uib.local   (posix.py:84)
[5] [2021-02-04 16:43:43.121] [               ] Querying for ip address of host uib-mmini1.uib.local   (common.py:158)
[5] [2021-02-04 16:43:43.122] [               ] Got ip address 192.168.10.70 from syscall   (common.py:167)
[5] [2021-02-04 16:43:43.123] [               ] Pinging host 192.168.10.70 ...   (common.py:183)
[5] [2021-02-04 16:43:44.146] [               ] Host 192.168.10.70 is up   (common.py:194)
[5] [2021-02-04 16:43:44.153] [               ] Patching config.ini   (posix.py:91)
[5] [2021-02-04 16:43:44.157] [               ] Copying installation scripts...   (posix.py:107)
[5] [2021-02-04 16:43:48.316] [               ] Running installation script...   (posix.py:147)
[5] [2021-02-04 16:43:53.382] [               ] opsi-client-agent successfully installed on uib-mmini1.uib.local   (posix.py:176)
[5] [2021-02-04 16:43:53.395] [               ] Restarting opsiclientd service on computer: uib-mmini1   (posix.py:331)
[5] [2021-02-04 16:43:55.620] [               ] 1/1 deployments successfully   (__init__.py:210)
  • Für eine Liste von Clients:

./opsi-deploy-client-agent -v --user=uib --hosts-from-file HOSTFILE.TXT  --skip-existing-clients

Hier ist HOSTFILE.TXT eine Datei mit einem Clientnamen (FQDN) pro Zeile. Soweit die Clients dem opsi-server noch nicht bekannt sind, wird versucht den opsi-mac-client-agent auf dieser Maschine zu installieren

  • Anzeigen alle Kommandozeilen Parameter:

./opsi-deploy-client-agent --help