GNU/Linux >> Tutoriels Linux >  >> Linux

Équivalent Linux à la communication à distance un à plusieurs de PowerShell

Résumé

  • Ansible est un outil DevOps qui remplace PowerShell avec puissance
  • RunDeck en tant qu'interface graphique est pratique
  • Certaines personnes utilisent RunDeck+Ansible ensemble

clusterssh

Pour envoyer des commandes distantes à plusieurs serveurs, pour un débutant, je recommanderais clusterssh

Pour installer clusterssh dans Debian :

apt-get install clusterssh

Un autre tutoriel clusterssh :

ClusterSSH est un wrapper Tk/Perl autour d'outils Linux standard comme XTerm et SSH. En tant que tel, il fonctionnera sur à peu près n'importe quel système d'exploitation compatible POSIX où les bibliothèques existent - je l'ai exécuté sur Linux, Solaris et Mac OS X. Il nécessite les bibliothèques Perl Tk (perl-tk sur Debian ou Ubuntu) et X11 ::Protocol (libx11-protocol-perl sur Debian ou Ubuntu), en plus de xterm et OpenSSH.

Ansible

En tant que framework distant pour l'administration de plusieurs systèmes, Ansible est une alternative très intéressante à Puppet. Il est plus léger et n'a pas besoin d'agents distants dédiés car il fonctionne sur SSH (il a également été acheté par RedHat)

Les Playbooks sont plus élaborés que les options de ligne de commande.

Cependant, pour commencer à utiliser Ansible, vous avez besoin d'une installation simple et de la configuration du fichier texte de la liste des clients.

Ensuite, pour lancer une commande sur tous les serveurs, c'est aussi simple que de faire :

ansible all -m command -a "uptime"

La sortie est également très bien formatée et séparée par règle/serveur, et lors de son exécution en arrière-plan, elle peut être redirigée vers un fichier et consultée ultérieurement.

Vous pouvez commencer avec des règles simples, et l'utilisation d'Ansible deviendra plus intéressante à mesure que vous grandissez sous Linux, et votre infrastructure devient plus grande. En tant que tel, il fera bien plus que PowerShell.

À titre d'exemple, un Playbook très simple pour mettre à niveau les serveurs Linux que j'ai écrit :

---
- hosts: all
  become: yes
  gather_facts: False
  tasks:
   - name: updates a server
     apt: update_cache=yes
   - name: upgrade a server
     apt: upgrade=full

Il a également de nombreux modules définis qui vous permettent d'écrire facilement des politiques complètes.

Index des modules - Documentation Ansible

Il dispose également d'un hub officiel/réseau "social" intéressant de référentiels pour rechercher des politiques déjà rendues possibles par la communauté. Galaxie Ansible

Ansible est également largement utilisé, et vous trouverez de nombreux projets dans github, comme celui-ci de moi-même pour la configuration de FreeRadius.

Bien qu'Ansible soit un framework open source gratuit, il dispose également d'une interface de panneau Web payante, Ansible Tower, bien que la licence soit plutôt chère.

De nos jours, après l'achat de RedHat, tower a également la version open source connue sous le nom d'AWX.

En prime, Ansible est également capable d'administrer des serveurs Windows, même si je ne l'ai jamais utilisé pour cela.

Il est également capable d'administrer les équipements réseau (routeurs, commutateurs et pare-feu), ce qui en fait une solution très intéressante en tant que solution d'automatisation clé en main.

Comment installer Ansible

Rundeck

Encore une fois, pour un framework distant plus facile à utiliser, mais pas aussi puissant qu'Ansible, je recommande Rundeck.

Il s'agit d'une interface graphique multi-utilisateur/connexion très puissante où vous pouvez automatiser une grande partie de vos tâches quotidiennes courantes, et même donner des vues édulcorées aux sysops ou aux personnes du service d'assistance.

Lors de l'exécution des commandes, il vous donne également des fenêtres avec la sortie ventilée par serveur/tâche.

Il peut exécuter plusieurs tâches en arrière-plan de manière transparente et vous permet de voir le rapport et la sortie ultérieurement.

Comment installer RunDeck

Veuillez noter que certaines personnes utilisent Ansible+RunDeck en tant qu'interface Web ; tous les cas ne sont pas appropriés pour cela.

Il va également sans dire que l'utilisation d'Ansible et/ou de RunDeck peut être interprétée comme une forme ou une partie de la documentation de l'infrastructure, et au fil du temps permet de répliquer et d'améliorer les actions/recettes/Playbooks.

Enfin, en parlant d'un serveur de commande central, j'en créerais un juste pour la tâche. En fait, le terme technique est une boîte de saut. Les "jump boxes" améliorent la sécurité, si vous les configurez correctement.


Si vous voulez le faire de manière interactive, vous pouvez utiliser terminator qui permet de diffuser une commande vers plusieurs terminaux.

Voir :Comment exécuter la même commande linux dans plusieurs onglets/shell simultanément ?


Vous pouvez également utiliser pssh (ou parallel-ssh ), qui est un client SSH qui se connecte à une liste d'hôtes et exécute la commande sur tous les hôtes en parallèle :

$ parallel-ssh -i -H "host1 host2" uname -a
[1] 11:37:12 [SUCCESS] host2
Linux host2 3.19.0-25-generic #26~14.04.1-Ubuntu SMP Fri Jul 24 21:16:20 UTC 2015 x86_64 x86_64 x86_64 GNU/Linux
[2] 11:37:12 [SUCCESS] host1
Linux host1 3.19.0-25-generic #26~14.04.1-Ubuntu SMP Fri Jul 24 21:16:20 UTC 2015 x86_64 x86_64 x86_64 GNU/Linux

Linux
  1. Comment installer et tester Ansible sur Linux

  2. Top 25 des questions d'entretien Linux

  3. Comment créer un utilisateur Linux avec Ansible

  4. Linux équivalent à robocopy ?

  5. Windows PowerShell équivalent à Unix/Linux `pwd` ?

Utiliser l'équivalent du gestionnaire de tâches sous Linux

Microsoft Open Sources PowerShell, l'apporte à Linux !

Comment exécuter xCloud sur Linux (également sur SteamOS) ?

Ssh - Équivalent Linux à la communication à distance "un-à-plusieurs" de Powershell ?

Les meilleures distributions Linux en 2022

Comment installer Ansible sur Linux Mint 20