Installer l'agent sur Linux
Ce que fait la commande d'installation
Le portail donne une commande d'une seule ligne. Vous la lancez en root sur la machine. Elle fait tout, dans cet ordre :
- Elle télécharge le script d'installation depuis le serveur BaaStide, en HTTPS.
- Elle télécharge l'agent de la version publiée, et le manifeste de cette version.
- Elle vérifie la taille et l'empreinte SHA-256 de l'agent téléchargé. Un fichier abîmé arrête l'installation.
- Elle installe l'agent dans
/usr/local/bin/baastide, le garde de démarrage dans/usr/lib/baastide/start-guardet l'unité systemd dans/etc/systemd/system/baastide.service. - Elle crée
/etc/baastideet/var/lib/baastide, lisibles par root seul. - Elle enrôle la machine avec votre jeton d'enrôlement, et écrit l'identité dans
/etc/baastide/agent.conf. - Elle active le service, puis elle le démarre.
La commande écrit une ligne par étape. Elle finit par
install: agent baastide <version> installed and started (systemctl status baastide).
Quand une étape échoue, la commande s'arrête tout de suite. Elle écrit la cause sur une seule
ligne, qui commence par install:.
Prérequis
- Linux x86-64, avec systemd,
curletsha256sum. Voir Avant d'installer. - Un accès root sur la machine.
- Un accès HTTPS sortant vers le serveur BaaStide, port 443.
- Un jeton d'enrôlement, créé dans le portail. Voir Créer un jeton d'enrôlement.
Installer l'agent
-
Créez le jeton d'enrôlement dans le portail. Copiez la commande Linux : à lancer en root sur la machine.
-
Ouvrez une session sur la machine.
-
Devenez root. Par exemple, lancez
sudo -i. -
Collez la commande, puis lancez-la. Elle a cette forme :
curl -fsSL 'https://<serveur>/install.sh' | BAASTIDE_ENROLL_TOKEN='<jeton>' sh -s -- --server 'https://<serveur>'Prenez toujours la commande du portail. Elle porte l'adresse de votre serveur et votre jeton. Quand votre MSP a changé les noms de l'agent, l'adresse du script et celle du serveur sont celles de votre MSP.
-
Attendez la fin de la commande. Elle écrit une ligne par étape.
-
Lisez la dernière ligne. Elle doit dire
installed and started.
L'agent ouvre ensuite sa connexion vers le serveur. La machine apparaît dans les endpoints du client, avec l'état En ligne.
Vérifier l'installation
Lancez ces commandes sur la machine, en root.
systemctl is-active baastide: la réponse doit êtreactive.systemctl is-enabled baastide: la réponse doit êtreenabled. Le service redémarre alors avec la machine.baastide version: la commande donne la version de l'agent installé.journalctl -u baastide -n 50: lisez les dernières lignes du journal. Elles ne doivent porter aucune erreur de connexion.ls -l /etc/baastide/agent.conf: le fichier existe, et il appartient à root.
Vérifiez aussi dans le portail :
- Ouvrez la fiche du client.
- Trouvez la machine dans ses endpoints.
- Lisez son état. Il doit être En ligne.
Une machine qui reste Hors ligne n'a pas de connexion sortante vers le serveur. Reprenez la section « Accès réseau sortant » de Avant d'installer.
Installer sans les scripts de sauvegarde
Une politique de sauvegarde lance des scripts avant et après une sauvegarde. Vous coupez ces scripts sur une machine dès l'installation.
- Copiez la commande du portail.
- Ajoutez
--no-scriptsà la fin de la commande. - Lancez la commande en root.
Sans cette option, l'installation ne change pas le choix courant de la machine. Une machine neuve accepte les scripts.
Réinstaller les fichiers de l'agent
Cette procédure remet les fichiers de l'agent en place, et garde l'identité de la machine. Elle sert après la perte d'un fichier de l'agent, ou pour revenir à l'unité systemd d'origine.
-
Ouvrez une session sur la machine, en root.
-
Lancez le script d'installation sans le jeton d'enrôlement :
curl -fsSL 'https://<serveur>/install.sh' | sh -s -- --server 'https://<serveur>'Prenez l'adresse du serveur dans la commande que le portail affiche.
-
Lisez la sortie. Elle doit dire
install: /etc/baastide/agent.conf exists, keeping the current identity.
Ne relancez pas la commande complète du portail : elle porte un jeton, et ce jeton ne sert qu'une fois. L'installation irait jusqu'à l'enrôlement, puis elle échouerait.
Piloter le service
L'agent tourne dans l'unité systemd baastide.service. Elle démarre après le réseau, et elle
démarre avec la machine.
| Action | Commande |
|---|---|
| Lire l'état du service | systemctl status baastide |
| Lire le journal | journalctl -u baastide |
| Suivre le journal en direct | journalctl -u baastide -f |
| Redémarrer le service | systemctl restart baastide |
| Arrêter le service | systemctl stop baastide |
| Démarrer le service | systemctl start baastide |
Le service redémarre tout seul 10 secondes après un arrêt en erreur.
Un arrêt du service arrête aussi les sauvegardes de la machine. L'agent annule la tâche en cours quand il s'arrête. Le portail signale alors la machine Hors ligne.
Limites et précautions
- L'agent Linux tourne sur x86-64 seulement. L'installation s'arrête sur une autre architecture.
- systemd est obligatoire. L'installation s'arrête sans
systemctl. curletsha256sumsont obligatoires. L'installation s'arrête quand l'un des deux manque.- La commande du portail contient toujours un jeton d'enrôlement. Ne la relancez pas, et ne la gardez pas dans un fichier.
- Le service tourne en root. L'agent lit ainsi tous les fichiers de la machine, et il restaure les fichiers avec leurs droits.
- Ne modifiez pas
/etc/systemd/system/baastide.service: une mise à jour de l'agent remet l'unité d'origine. Pour un réglage propre à une machine, ajoutez un fichier dans/etc/systemd/system/baastide.service.d/. L'agent ne touche pas à ces fichiers. - Une version de systemd antérieure à la 236 reçoit un fichier de réglage en plus,
/etc/systemd/system/baastide.service.d/systemd-before-236.conf. L'installation le pose seule. Ne le retirez pas. - L'enrôlement est refusé quand une autre machine active du même client porte déjà le même
identifiant machine. Une machine clonée garde l'identifiant de son modèle. Donnez-lui un nouvel
identifiant avec
systemd-machine-id-setupavant d'installer l'agent. - Un refus du serveur n'est jamais réessayé. La commande s'arrête, et elle écrit la cause.
- L'agent se met à jour tout seul. Il revient à la version précédente quand la nouvelle ne démarre
pas. Ne remplacez pas
/usr/local/bin/baastideà la main.
Référence
- CLI de l'agent :
baastide agent enroll,baastide agent,baastide version. - API : Enrollment, route
POST /agents/enroll.