Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentesRévision précédenteProchaine révision | Révision précédente | ||
pssh [2020/03/15 15:48] – crust | pssh [2020/09/03 18:58] (Version actuelle) – [configurer openssh-server] cyrille | ||
---|---|---|---|
Ligne 1: | Ligne 1: | ||
====== Installer parallel-ssh ====== | ====== Installer 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: | ||
+ | * Envoi de données à tous les clients | ||
+ | * | ||
+ | * | ||
+ | * | ||
+ | * Envoi de fichiers à tous les serveurs | ||
+ | * Gestion des processus | ||
+ | * Compatible avec tous les Linux, Unix et freeBSD | ||
+ | **Très utile puisque que sur un parc de PC, vous mettez à jour l' | ||
- | parallel-ssh permet d' | + | ====== Configurer les postes clients ====== |
- | pssh is a command line tool for executing ssh in parallel on some hosts. It specialties includes: | + | |
- | Sending input to all of the processes | + | Tâches à réaliser |
- | Inputting a password to ssh | + | ===== Installer le paquet openssh-server ===== |
- | Saving output to files | + | <code bash># aptitude install openssh-server< |
- | IT/sysadmin task automation such as patching servers or looking for error logs | + | Chaque client possédera donc son propre serveur ssh. |
- | Timing out and more | + | |
- | + | ||
- | pssh est un outil en ligne de commande pour exécuter ssh en parallèle | + | |
- | * Envoi de données à tous les processus | + | |
- | * | + | |
- | | + | |
- | | + | |
- | * Compatible avec tous les Linux, Unix et freeBSD | + | |
+ | ===== configurer openssh-server ===== | ||
+ | Configurer le serveur ssh pour qu'il accepte les connexions root et les autorisations par clefs et non mot de passe | ||
+ | <code bash># nano / | ||
+ | Mettre à jour les lignes suivantes avec ces entrées | ||
+ | <code bash> | ||
+ | Prohibit-password yes | ||
+ | PubkeyAuthentication yes</ | ||
+ | |||
+ | |||
+ | Démarrer le service ssh ou le redémarrer | ||
+ | <code bash># service ssh start | ||
+ | # service ssh restart</ | ||
+ | |||
+ | Les clients sont prêts à l' | ||
====== Configuration de la machine maître ====== | ====== Configuration de la machine maître ====== | ||
===== Installer pssh ===== | ===== Installer pssh ===== | ||
Ligne 27: | Ligne 42: | ||
- | Sous debian sid, l' | + | Sous debian sid, l' |
Ici nous utiliserons **parallel-ssh** par défaut (adapter à votre configuration) | Ici nous utiliserons **parallel-ssh** par défaut (adapter à votre configuration) | ||
Ligne 45: | Ligne 61: | ||
===== Le fichier de configuration du poste maître ===== | ===== Le fichier de configuration du poste maître ===== | ||
- | Ce fichier renferme la liste des hosts vers lesquels les commandes seront | + | Ce fichier renferme la liste des hosts vers lesquels les commandes seront |
- | **/ | + | |
+ | Ici, cette liste sera stockée | ||
Créer un fichier contenant les hosts | Créer un fichier contenant les hosts | ||
Ligne 55: | Ligne 72: | ||
root@192.168.0.12 | root@192.168.0.12 | ||
root@192.168.0.23 | root@192.168.0.23 | ||
- | root@192.168.0.43</ | + | 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 **/ | Si vous souhaitez utiliser les noms des machines plutôt que leurs adresses IP, il faudra modifier et adapter le fichier **/ | ||
- | + | ===== Exporter la clef publique sur les clients ===== | |
- | ====== Configurer les postes clients ====== | + | |
- | ===== Installer le paquet openssh-server ===== | + | |
- | <code bash># aptitude install openssh-server</ | + | |
- | + | ||
- | ===== configurer openssh-server ===== | + | |
- | + | ||
- | Configurer le serveur ssh pour qu'il accepte les connexions root et les autorisations par clefs et non mot de passe | + | |
- | <code bash># | + | |
- | Mettre à jour les lignes suivantes avec ces entrées | + | |
- | <code bash> | + | |
- | PermitRootLogin yes | + | |
- | PubkeyAuthentication yes</ | + | |
- | + | ||
- | + | ||
- | Démarrer le service ssh ou le redémarrer | + | |
- | <code bash># service ssh start | + | |
- | # service ssh restart</ | + | |
- | + | ||
- | Les clients sont prêts à l' | + | |
- | + | ||
- | + | ||
- | ====== Exporter la clef publique sur les clients | + | |
<code bash> | <code bash> | ||
+ | ssh-copy-id root@192.168.0.12 | ||
ssh-copy-id root@192.168.0.23 | ssh-copy-id root@192.168.0.23 | ||
- | ssh-copy-id root@192.168.0.43</ | + | ssh-copy-id root@192.168.0.43 |
- | Autannt | + | ...</ |
+ | Autant | ||
<code bash>$ ssh-copy-id root@192.168.0.43 | <code bash>$ ssh-copy-id root@192.168.0.43 | ||
Ligne 109: | Ligne 107: | ||
Utilisez **ssh-agent** pour vous authentifier automatiquement (avec un nom de shell comme argument pour que les variables d' | Utilisez **ssh-agent** pour vous authentifier automatiquement (avec un nom de shell comme argument pour que les variables d' | ||
- | $ ssh-agent bash | + | <code bash>$ ssh-agent bash |
$ ssh-add | $ ssh-add | ||
- | Enter passphrase for / | + | Enter passphrase for / |
+ | |||
+ | ===== Utiliser parallel-ssh ===== | ||
+ | |||
+ | ==== Exemple, option -i ==== | ||
- | ===== Tester ===== | ||
<code bash>$ parallel-ssh -i -h / | <code bash>$ parallel-ssh -i -h / | ||
Ligne 124: | Ligne 125: | ||
On remarque ici **l' | On remarque ici **l' | ||
- | **Redirection de la sortie ssh client | + | ==== Exemple, option -o ==== |
+ | |||
+ | Pour **rediriger | ||
<code bash>$ parallel-ssh -o / | <code bash>$ parallel-ssh -o / | ||
[1] 15:22:47 [SUCCESS] root@192.168.0.11 | [1] 15:22:47 [SUCCESS] root@192.168.0.11 | ||
- | [2] 15:22:48 [SUCCESS] root@192.168.0.43 | + | [2] 15:22:48 [SUCCESS] root@192.168.0.43</ |
- | $ cat / | + | |
+ | Et pour visualiser les sorties. | ||
+ | |||
+ | < | ||
FreeBSD asgard-freeBSD 12.0-RELEASE-p13 FreeBSD 12.0-RELEASE-p13 GENERIC | FreeBSD asgard-freeBSD 12.0-RELEASE-p13 FreeBSD 12.0-RELEASE-p13 GENERIC | ||
Linux Tinuviel-debianStable 4.19.0-6-amd64 #1 SMP Debian 4.19.67-2+deb10u2 (2019-11-11) x86_64 GNU/ | Linux Tinuviel-debianStable 4.19.0-6-amd64 #1 SMP Debian 4.19.67-2+deb10u2 (2019-11-11) x86_64 GNU/ | ||
+ | ==== Exemple, mise à jour à distance ==== | ||
+ | |||
+ | <code bash>$ parallel-ssh -i -h / | ||
+ | $ parallel-ssh -i -h / | ||
+ | |||
+ | ===== Copier des fichiers vers les clients ===== | ||
+ | |||
+ | |||
+ | __Syntaxe__ | ||
+ | |||
+ | <code bash>$ parallel-scp -h / | ||
+ | |||
+ | __Exemple__ | ||
+ | |||
+ | <code bash>$ parallel-scp | ||
+ | |||
+ | Tuer des processus sur les postes clients | ||
+ | __Syntaxe__ | ||
+ | <code bash>$ parallel-nuke -h / | ||
+ | __Exemple__ | ||
+ | <code bash>$ parallel-nuke |