# Administration d'un parc informatique

Des tutoriels sur des outils permettant d'administrer un parc informatique depuis un poste principal.

# parallel-SSH

**pssh** est un outil en ligne de commande pour exécuter **ssh** en parallèle sur plusieurs hôtes. Ses spécialités comprennent:

<div class="panel panel-default px-3 py-2" id="bkmrk-envoi-de-donn%C3%A9es-%C3%A0-t" itemprop="articleBody"><div class="panel panel-default px-3 py-2" itemprop="articleBody"><div class="page panel-body"><div class="dw-content-page dw-toc-closed"><div class="dw-content"><div class="level1">- <div class="li">Envoi de données à tous les clients</div>
- <div class="li">Saisie unique d'un mot de passe pour ssh</div>
- <div class="li">Enregistrement de la sortie dans des fichiers ou visionnage direct</div>
- <div class="li">Automatisation des tâches **sysadmin** telles que l'application de correctifs aux serveurs, les mises à jour, l'installation de paquets, la configuration,…</div>
- <div class="li">Envoi de fichiers à tous les serveurs</div>
- <div class="li">Gestion des processus</div>
- <div class="li">Compatible avec tous les Linux, Unix et freeBSD</div>

</div></div></div></div></div></div>**Très utile puisque que sur un parc de PC, vous mettez à jour l'ensemble du parc depuis une seule machine.**

# Configurer les postes clients

Tâches à réaliser sur chaque client. Ecrire un script d'automatisation afin d'alléger cette tâche.

## Installer le paquet openssh-server

```
# aptitude install openssh-server
```

Chaque client possédera donc son propre serveur ssh.

## configurer openssh-server

Configurer le serveur ssh pour qu'il accepte les connexions root et les autorisations par clefs et non mot de passe

```
# nano /etc/ssh/sshd_config
```

Mettre à jour les lignes suivantes avec ces entrées

```
PermitRootLogin yes
PubkeyAuthentication yes
```

Démarrer le service ssh ou le redémarrer

```
# service ssh start
# service ssh restart
```

Les clients sont prêts à l'emploi

# Configuration de la machine maître

## Installer pssh

```
# aptitude install pssh
```

## pssh / parallel-ssh

Sous debian sid, l'utiliaire **pssh** s'appelle **parallel-ssh** (sous d'autres distributions c'est simplement **pssh**).

Ici nous utiliserons **parallel-ssh** par défaut (adapter à votre configuration)

## Utiliser une paire de clef publique/privée pour l’identification ssh

Construire sa clef , sauf si on en a déjà une (compte $USER, non en root)

```
$ ssh-keygen
 
$ ls -l .ssh/
total 12
-rw------- 1 ragnarok cyrille 1876 juin  26  2019 id_rsa
-rw-r--r-- 1 ragnarok cyrille  397 juin  26  2019 id_rsa.pub
-rw-r--r-- 1 ragnarok cyrille 2220 mars  14 16:42 known_hosts
```

La clé est créée, on la garde sous le coude ;)

## Le fichier de configuration du poste maître

Ce fichier renferme la liste des hosts vers lesquels les commandes seront envoyées.

Ici, cette liste sera stockée dans **/etc/ssh/pssh\_host** mais vous pouvez créer un fichier de ce type où vous le souhaitez (souvent, le fichier **~/.pssh\_hosts\_files** est utilisé)

Créer un fichier contenant les hosts

```
mkdir /etc/ssh/pssh_host
nano /etc/ssh/pssh_host/pssh
###Mettre les adresses IP des serveurs à administrer ici.
root@192.168.0.11
root@192.168.0.12
root@192.168.0.23
root@192.168.0.43
...
```

Si vous souhaitez utiliser les noms des machines plutôt que leurs adresses IP, il faudra modifier et adapter le fichier **/etc/hosts**

## Exporter la clef publique sur les clients

```
ssh-copy-id root@192.168.0.11
ssh-copy-id root@192.168.0.12
ssh-copy-id root@192.168.0.23
ssh-copy-id root@192.168.0.43
...
```

Autant de fois que d'entrées dans votre fichier **/etc/ssh/pssh\_host/pssh**

```
$ ssh-copy-id root@192.168.0.43
/usr/bin/ssh-copy-id: INFO: Source of key(s) to be installed: "/home/ragnarok/.ssh/id_rsa.pub"
The authenticity of host '192.168.0.43 (192.168.0.43)' can't be established.
ECDSA key fingerprint is SHA256:2SC8wDSd7m7UrqCRnmz6jsY+6K9GL9zkMPQZGxEQM6k.
Are you sure you want to continue connecting (yes/no/[fingerprint])? yes
/usr/bin/ssh-copy-id: INFO: attempting to log in with the new key(s), to filter out any that are already installed
/usr/bin/ssh-copy-id: INFO: 1 key(s) remain to be installed -- if you are prompted now it is to install the new keys
root@192.168.0.43's password:
Number of key(s) added: 1
 
Now try logging into the machine, with:   "ssh 'root@192.168.0.43'"
and check to make sure that only the key(s) you wanted were added.
```

# Déployer pssh

## Initialiser pssh

Utilisez **ssh-agent** pour vous authentifier automatiquement (avec un nom de shell comme argument pour que les variables d'environnement de l'agent soient définies dans ce nouveau shell). Ajoutez la clé avec **ssh-add** et tapez votre mot de passe *une seule fois*.

```
$ ssh-agent bash
$ ssh-add
Enter passphrase for /xxxx/.ssh/identity:
```

## Utiliser parallel-ssh

### Exemple, option -i

```
$ parallel-ssh -i  -h /etc/ssh/pssh_host/pssh_hosts uname -a
[1] 15:21:04 [SUCCESS] root@192.168.0.11
FreeBSD asgard-freeBSD 12.0-RELEASE-p13 FreeBSD 12.0-RELEASE-p13 GENERIC  amd64
[2] 15:21:04 [SUCCESS] root@192.168.0.43
Linux Tinuviel-debianStable 4.19.0-6-amd64 #1 SMP Debian 4.19.67-2+deb10u2 (2019-11-11) x86_64 GNU/Linux
```

On remarque ici **l'option -i** qui permet de visualiser ce que retourne le terminal ssh des postes clients

### Exemple, option -o

Pour **rediriger la sortie ssh des clients vers un fichier**, on utilisera l'**option -o**

```
$ parallel-ssh -o /tmp/uname  -h /etc/ssh/pssh_host/pssh_hosts uname -a
[1] 15:22:47 [SUCCESS] root@192.168.0.11
[2] 15:22:48 [SUCCESS] root@192.168.0.43
```

Et pour visualiser les sorties.

```
$ cat /tmp/uname/root@192.168.0.11 /tmp/uname/root@192.168.0.43 
FreeBSD asgard-freeBSD 12.0-RELEASE-p13 FreeBSD 12.0-RELEASE-p13 GENERIC  amd64
Linux Tinuviel-debianStable 4.19.0-6-amd64 #1 SMP Debian 4.19.67-2+deb10u2 (2019-11-11) x86_64 GNU/Linux
```

### Exemple, mise à jour à distance

```
$ parallel-ssh -i  -h /etc/ssh/pssh_host/pssh_hosts apt-get update
$ parallel-ssh -i  -h /etc/ssh/pssh_host/pssh_hosts apt-get upgrade
```

## Copier des fichiers vers les clients

*Syntaxe*

```
$ parallel-scp -h /fichier_de_conf_pssh source destinatire
```

*Exemple*

```
$ parallel-scp  -h /etc/ssh/pssh_host/pssh_hosts  $HOME/test.txt /tmp/
```

Tuer des processus sur les postes clients

*Syntaxe*

```
$ parallel-nuke -h /fichier_de_conf_pssh nom_du_processus
```

*Exemple*

```
$ parallel-nuke  -h /etc/ssh/pssh_host/pssh_hosts  nginx
```

— *[cyrille](mailto:cyrille@cbiot.fr "cyrille@cbiot.fr") 2020/03/15 16:49*

# Veyon

<span style="text-decoration: underline;">**Veyon**</span> est un logiciel open-source souvent utilisé dans les salles informatiques de l'enseignement. Il permet aux enseignants de **visionner et contrôler tous les écrans de la classe**. Avec Veyon, l’enseignant peut diffuser son écran à tous les élèves, et permet **d'allumer et d'éteindre** le parc en un clic ! **Mais aussi d'envoyer un message à un ou tous les postes, de lancer un logiciel sur les postes sans l'intervention des élèves. Pratique avec Primtux vu le nombre de logiciels**.

### <span style="color: rgb(186, 55, 42);">Explications <span style="text-decoration: underline;">simplifiés</span> de l'installation et configuration : </span>

Il est facile d'installer et configurer Veyon sous Linux et/ou Windows (un poste Windows peut contrôler un poste Linux, ou l'inverse). La documentation officiel étant très importante, je vais résumer ici la démarche simple. Tous les postes doivent être sur le même réseau local.

La stratégie consiste à importer un fichier "clé" générée par le poste maître sur les postes élèves. Dans l'interface **Veyon Configurator** des postes élèves, il suffit d'importer la clé publique et, dans<span style="color: rgb(224, 62, 45);"> **Emplacement**</span>, d'ajouter le même nom de salle que celui de Veyon Master du professeur. Pour voir les postes, pas besoin d'adresse IP fixe ; c'est grâce au **nom du poste** sur le réseau qu'ils sont identifiés. Pour allumer les postes, il faudra récupérer l'adresse MAC de la carte Ethernet (ce n'est pas possible pour les postes en Wi-Fi).

Dans **Veyon Configurator** du poste maître, il faut tout simplement créer une salle et ajouter les postes, en leur attribuant comme nom et adresse IP ceux des machines sur le réseau. Ensuite, dans **Veyon Master**, vous verrez apparaître la salle. Cliquez sur la case correspondante et les écrans des postes vont apparaître.

### <span style="color: rgb(186, 55, 42);">Explications <span style="text-decoration: underline;">détaillés</span> de l'installation et configuration :</span>

#### <span style="text-decoration: underline;">I - Renommer les PC élèves : </span>

De base, le nom du PC est "primtux" Si plus de 10 PC par exemple, rajouter 01, 02 .. à la fin

Ouvrir un terminal (menu démarrer et taper : Ter)

`sudo hostnamectl set-hostname primtux01`

La 2<sup>ème</sup> commande permet de renommer le poste en visibilité sur le réseau.

`sudo nano /etc/hosts`

[![renommer.png](https://documentation.primtux.fr/uploads/images/gallery/2025-12/scaled-1680-/renommer.png) ](https://documentation.primtux.fr/uploads/images/gallery/2025-12/renommer.png)

####   


#### <span style="text-decoration: underline;">II - installer veyon sur primtux 8, pas utile sur la 9 :</span>**<span style="color: rgb(0, 0, 0);">Sur le poste "Maitre"</span>**, télécharger le fichier .deb sur le site officiel, [https://veyon.io/fr/download/](https://veyon.io/fr/download/)  
Pour Primtux8 ce sera la version Ubuntu22.04. [Cliquer ICI](https://github.com/veyon/veyon/releases/download/v4.9.8/veyon_4.9.8.0-ubuntu.22.04_amd64.deb "Veyon Deb") (double clic pour l'installer)  
Pour Windows, [cliquer ICI ](https://github.com/veyon/veyon/releases/download/v4.9.8/veyon-4.9.8.0-win64-setup.exe "cliquer ICI")(Windows va bloquer, cliquer sur plus d'informations pour l'installer)  
PS: Autre possibilité pour installer sur primtux8, passer par synaptic, l'avantage sera de ne pas installer Veyon Master sur les postes élèves.

**Sur les postes élèves**, faire de même mais sans installer le Master si possible.

#### <span style="text-decoration: underline;">II - Configuration du poste maitre :</span>

  
Lancer "**Veyon Configurator**". (sur Windows = touche "Windows" puis taper veyon, sur Primtux8 idem par le menu démarrer)

**a)** Dans Veyon Configurator, rubrique <span style="color: rgb(224, 62, 45);">**Général**</span>, sous<span style="color: rgb(224, 62, 45);"> **Authentification**</span>, sélectionner "<span style="color: rgb(224, 62, 45);">**Authentification par un fichier clé**</span>",

[![image.png](https://documentation.primtux.fr/uploads/images/gallery/2025-12/scaled-1680-/image.png)](https://documentation.primtux.fr/uploads/images/gallery/2025-12/image.png)

**b)** Créée une paire de clés. Aller à la rubrique "<span style="color: rgb(224, 62, 45);">**Clés d'authentification"**</span>. puis le bouton "<span style="color: rgb(224, 62, 45);">**Créer une paire de clés**</span>"et renseigner un nom. Exemple, le nom de l'école, puis appliquer les changements.

[![image.png](https://documentation.primtux.fr/uploads/images/gallery/2025-12/scaled-1680-/3xWimage.png)](https://documentation.primtux.fr/uploads/images/gallery/2025-12/3xWimage.png)

[![image.png](https://documentation.primtux.fr/uploads/images/gallery/2025-12/scaled-1680-/P1uimage.png)](https://documentation.primtux.fr/uploads/images/gallery/2025-12/P1uimage.png)

[![capture après création clé.png](https://documentation.primtux.fr/uploads/images/gallery/2026-02/capture-apres-creation-cle.png)](https://documentation.primtux.fr/uploads/images/gallery/2025-12/capture-apres-creation-cle.png)

**c)** Maintenant que la paire de clés est créée, cliquer sur la ligne "Public", puis exporter là en utilisant le bouton "<span style="color: rgb(224, 62, 45);">**Exporter clé**</span>" sur une clé USB par exemple.

#### <span style="text-decoration: underline;">III - configuration des postes Elèves :</span>

**a)** Dans Veyon Configurator, rubrique <span style="color: rgb(224, 62, 45);">**Général**</span>, sous<span style="color: rgb(224, 62, 45);"> **Authentification**</span>, sélectionner "<span style="color: rgb(224, 62, 45);">**Authentification par un fichier clé**</span>",

**b)** Rubrique "clé d'authentification" cliquer sur le bouton "importer clé". c'est le fichier public de la clé USB

**c)** Rubrique Emplacement &amp; ordinateurs

Ajouter le nom de salle où est cet ordinateur, ce nom devra être le même sur le poste "Maitre". Cliquez sur le <span style="background-color: rgb(126, 140, 141);"> **+** </span> dans la colonne <span style="color: rgb(224, 62, 45);">**Emplacement**</span>, en bas de la page (utiliser la barre ascenseur tout a droite).  
Remonter et double cliquer sur "Nouvelle emplacement" pour le nommer. *Exemple "Ecole-primaire-xxxx"*

Après cela, répétez les mêmes étapes pour tous les autres PC que vous souhaitez contrôler.

**d**) Aller à un terminal de commande pour rechercher l'adresse Mac et la noter, cela va servir plus tard pour allumer les PC

<span style="color: #000000;"><span style="font-size: medium;"><span style="color: #999999;">`ifconfig`</span></span></span>

Faire un copier/coller dans un fichier texte, ou les noter sur un papier de la suite de lettre et chiffre après Ether. Exemple : A1:B2:C3:D4:E6:f7

#### <span style="text-decoration: underline;">IV - veyon master :</span>

**a)** Revenir sur l'ordinateur principal où vous avez installé Veyon Master. Allez dans "**Veyon Configurator**", puis dans "**<span style="color: rgb(224, 62, 45);">Emplacement et ordinateurs</span>**". Cette fois-ci, dans la colonne "**<span style="color: rgb(224, 62, 45);">Ordinateur</span>**", cliquez sur le bouton <span style="background-color: rgb(126, 140, 141);"> **+** </span> puis indiquez le nom de chaque PC et pour "adresse hôte / IP" indiquer le même nom (pas besoin d'adresse IP) et également l'adresse MAC qui va permettre d'allumer les PC.  
Répéter cette action pour chaque poste à contrôler.

[![image.png](https://documentation.primtux.fr/uploads/images/gallery/2025-12/scaled-1680-/FKwimage.png)](https://documentation.primtux.fr/uploads/images/gallery/2025-12/FKwimage.png) [![capture ip et adresse mac.png](https://documentation.primtux.fr/uploads/images/gallery/2026-02/scaled-1680-/4hHcapture-ip-et-adresse-mac.png)](https://documentation.primtux.fr/uploads/images/gallery/2026-02/4hHcapture-ip-et-adresse-mac.png)

**b)** Une fois cela fait, ouvrez l'application **Veyon Master**, puis cliquez sur le bouton "**<span style="color: rgb(224, 62, 45);">Emplacement et ordinateurs</span>**" en bas à gauche de l'écran. Cochez la case à côté du nom de votre classe, puis allumez tous les PC pour vérifier si, avec Veyon, vous pouvez voir tous les postes que vous avez ajoutés.  
[![veyon master1.png](https://documentation.primtux.fr/uploads/images/gallery/2026-02/scaled-1680-/veyon-master1.png)](https://documentation.primtux.fr/uploads/images/gallery/2026-02/veyon-master1.png) [![veyon master2.png](https://documentation.primtux.fr/uploads/images/gallery/2026-02/scaled-1680-/veyon-master2.png)](https://documentation.primtux.fr/uploads/images/gallery/2026-02/veyon-master2.png)

#### <span style="text-decoration: underline;">V - Veyon master, utilisation </span>

<span style="text-decoration: underline;">  
</span>**Ici la vue de veyon master avec les postes éteinds**

#### <span style="text-decoration: underline;">[![pc- eteinds.PNG](https://documentation.primtux.fr/uploads/images/gallery/2026-03/scaled-1680-/pc-eteinds.PNG)](https://documentation.primtux.fr/uploads/images/gallery/2026-03/pc-eteinds.PNG)</span>

**et là, une fois allumé**

[![veyon-postes-alume.PNG](https://documentation.primtux.fr/uploads/images/gallery/2026-03/scaled-1680-/veyon-postes-alume.PNG)](https://documentation.primtux.fr/uploads/images/gallery/2026-03/veyon-postes-alume.PNG)

# Epoptes