Différences
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 [Le 17/03/2020, 19:37] – ajout de tags moths-art | pssh [Le 14/12/2023, 15:51] (Version actuelle) – Avertissement sur les droits et usage ssh percherie | ||
|---|---|---|---|
| Ligne 1: | Ligne 1: | ||
| - | {{tag> | + | {{tag>administration serveur |
| ---- | ---- | ||
| ====== PSSH (parallel-ssh) ====== | ====== PSSH (parallel-ssh) ====== | ||
| Ligne 12: | Ligne 12: | ||
| * Compatible avec tous les Linux, Unix et freeBSD | * Compatible avec tous les Linux, Unix et freeBSD | ||
| - | **Très | + | Ce logiciel est très utile sur un parc de PC, puisque |
| ====== Configurer les postes clients ====== | ====== Configurer les postes clients ====== | ||
| + | <note tip>Il est possible d' | ||
| + | <note important> | ||
| + | Sur chaque postes clients il s' | ||
| - | Tâches à réaliser sur chaque client. Ecrire un script d' | + | * [[: |
| - | ===== Installer | + | |
| - | <code bash># aptitude install openssh-server</ | + | * avec les [[: |
| - | Chaque client possédera donc son propre serveur ssh. | + | |
| - | + | ||
| - | ===== configurer openssh-server ===== | + | |
| - | + | ||
| - | Configurer | + | |
| - | <code bash># nano / | + | |
| - | Mettre | + | |
| - | <code bash> | + | |
| PermitRootLogin yes | PermitRootLogin yes | ||
| - | PubkeyAuthentication yes</ | + | PubkeyAuthentication yes</ |
| + | * Démarrer ou redémarrer le [[: | ||
| + | * Par exemple <code bash> | ||
| + | Les clients sont prêts à l' | ||
| - | 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 ===== | ||
| + | [[: | ||
| - | <code bash># aptitude install pssh</ | ||
| ===== pssh / parallel-ssh ===== | ===== pssh / parallel-ssh ===== | ||
| - | |||
| Sous debian sid, l' | Sous debian sid, l' | ||
| Ligne 51: | Ligne 43: | ||
| Construire sa clef , sauf si on en a déjà une (compte $USER, non en root) | Construire sa clef , sauf si on en a déjà une (compte $USER, non en root) | ||
| - | <code bash>$ ssh-keygen | + | <code bash> |
| - | + | Vérifiez par <code bash>ls -l .ssh/ </ | |
| - | $ ls -l .ssh/ | + | qui doit vous retourner |
| + | < | ||
| total 12 | total 12 | ||
| - | -rw------- 1 ragnarok cyrille 1876 juin 26 2019 id_rsa | + | -rw-------1 ragnarok cyrille 1876 juin 26 2019 id_rsa |
| -rw-r--r-- 1 ragnarok cyrille | -rw-r--r-- 1 ragnarok cyrille | ||
| -rw-r--r-- 1 ragnarok cyrille 2220 mars 14 16:42 known_hosts</ | -rw-r--r-- 1 ragnarok cyrille 2220 mars 14 16:42 known_hosts</ | ||
| Ligne 68: | Ligne 61: | ||
| Créer un fichier contenant les hosts | Créer un fichier contenant les hosts | ||
| - | <code bash> | + | <code bash> |
| - | nano / | + | Modifiez le ensuite. Par exemple avec [[:nano]] si vous êtes sur une [[: |
| + | < | ||
| + | <file bash> | ||
| ###Mettre les adresses IP des serveurs à administrer ici. | ###Mettre les adresses IP des serveurs à administrer ici. | ||
| root@192.168.0.11 | root@192.168.0.11 | ||
| Ligne 75: | Ligne 70: | ||
| root@192.168.0.23 | root@192.168.0.23 | ||
| root@192.168.0.43 | root@192.168.0.43 | ||
| - | ...</code> | + | ...</file> |
| 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 ===== | ===== Exporter la clef publique sur les clients ===== | ||
| + | |||
| + | Toujours en mode $USER | ||
| <code bash> | <code bash> | ||
| Ligne 88: | Ligne 85: | ||
| Autant de fois que d' | Autant de fois que d' | ||
| - | <code bash>$ ssh-copy-id root@192.168.0.43 | + | <code bash> |
| + | < | ||
| / | / | ||
| The authenticity of host ' | The authenticity of host ' | ||
| Ligne 100: | Ligne 98: | ||
| Now try logging into the machine, with: " | Now try logging into the machine, with: " | ||
| and check to make sure that only the key(s) you wanted were added.</ | and check to make sure that only the key(s) you wanted were added.</ | ||
| + | |||
| + | FIXME root@192.168.0.43' | ||
| Ligne 106: | Ligne 106: | ||
| ===== Initialiser pssh ===== | ===== Initialiser pssh ===== | ||
| + | Utilisez **ssh-agent** pour vous authentifier automatiquement (avec un nom de shell comme argument pour que les variables d' | ||
| + | Ajoutez la clé avec **ssh-add** et tapez votre mot de passe __une seule fois__. FIXME pas forcément le mot de passe de la machine mais une mot de passe nouvellement choisi non ? | ||
| - | Utilisez **ssh-agent** pour vous authentifier automatiquement (avec un nom de shell comme argument pour que les variables d' | + | <code bash> |
| - | + | ssh-add | |
| - | <code bash>$ ssh-agent bash | + | |
| - | $ ssh-add | + | |
| Enter passphrase for / | Enter passphrase for / | ||
| + | |||
| ===== Utiliser parallel-ssh ===== | ===== Utiliser parallel-ssh ===== | ||
| - | ==== Exemple, | + | ==== L'option -i ==== |
| - | <code bash>$ parallel-ssh -i -h / | + | <code bash> |
| + | Répondra | ||
| + | < | ||
| [1] 15:21:04 [SUCCESS] root@192.168.0.11 | [1] 15:21:04 [SUCCESS] root@192.168.0.11 | ||
| 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 | ||
| Ligne 127: | Ligne 130: | ||
| On remarque ici **l' | On remarque ici **l' | ||
| - | ==== Exemple, | + | ==== L'option -o ==== |
| Pour **rediriger la sortie ssh des clients vers un fichier**, on utilisera l' | Pour **rediriger la sortie ssh des clients vers un fichier**, on utilisera l' | ||
| - | <code bash>$ parallel-ssh -o / | + | <code bash> |
| + | Répondra | ||
| + | < | ||
| [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</ | ||
| Ligne 137: | Ligne 142: | ||
| Et pour visualiser les sorties. | Et pour visualiser les sorties. | ||
| - | < | + | < |
| + | Répondra | ||
| + | < | ||
| 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 ==== | + | ==== Mise à jour à distance ==== |
| - | <code bash>$ parallel-ssh -i -h / | + | <code bash> |
| - | $ parallel-ssh -i -h / | + | parallel-ssh -i -h / |
| - | ===== Copier des fichiers vers les clients ===== | + | :!: Attention ici il s'agit de la commande [[:apt]], à adapter selon votre gestionnaire de paquet :!: |
| + | ==== Copier des fichiers vers les clients ==== | ||
| __Syntaxe__ | __Syntaxe__ | ||
| - | + | <code bash> | |
| - | <code bash>$ parallel-scp -h / | + | |
| __Exemple__ | __Exemple__ | ||
| + | <code bash> | ||
| - | <code bash>$ parallel-scp | + | ==== Tuer des processus sur les postes clients |
| - | + | ||
| - | Tuer des processus sur les postes clients | + | |
| __Syntaxe__ | __Syntaxe__ | ||
| - | <code bash>$ parallel-nuke -h / | + | <code bash> |
| __Exemple__ | __Exemple__ | ||
| - | <code bash>$ parallel-nuke | + | <code bash> |
| - | --- //[[cyrille@cbiot.fr|cyrille]] | + | ---- |
| + | //[[: | ||
