Summary:
- Ansible is a devops tool that is a powerful replacement to PowerShell
- RunDeck as a graphical interface is handy
- Some people run RunDeck+Ansible together
For a beginner I would recommend clusterssh
To install it in Debian:
apt-get install clusterssh
Another clusterssh tutorial:
ClusterSSH is a Tk/Perl wrapper around standard Linux tools like XTerm and SSH. As such, it'll run on just about any POSIX-compliant OS where the libraries exist — I've run it on Linux, Solaris, and Mac OS X. It requires the Perl libraries Tk (perl-tk on Debian or Ubuntu) and X11::Protocol (libx11-protocol-perl on Debian or Ubuntu), in addition to xterm and OpenSSH.
As for a remote framework for multiple system administration, Ansible is a very interesting alternative to Puppet, as it is more lean, and it does not need remote agents as it works over SSH.
The Playbooks are more elaborate. However, to start using Ansible after a simple installation and setting up the client list text file, to run a command in all servers is as simple as doing:
ansible all -m command -a "uptime"
The output also is very nicely formatted and separated per rule/server, and while running it in the background can be redirected to a file and consulted later.
You can start with simple rules, and Ansible usage will get more interesting as you grow in Linux, and your infra-structure becomes larger. As such it will do so much more than PowerShell.
As an example, a very simple Playbook to upgrade Linux servers that I wrote.
---
- hosts: all
become: yes
gather_facts: False
tasks:
- name: updates a server
apt: update_cache=yes
- name: upgrade a server
apt: upgrade=full
It also has many modules defines that let you easily write comprehensive policies.
Module Index - Ansible Documentation
It also has got an interesting official hub/"social" network of repositories to search for already made ansible policies. Ansible Galaxy
Ansible is also widely used, and you will find lots of projects in github, like this one from myself for FreeRadius setup.
While Ansible is a free open source framework, it also has a paid web panel interface, Ansible Tower although the licensing is rather expensive.
As a bonus, Ansible also is capable of administering Windows servers, though I have never used it for that.
Yet again, for a remote framework easier to use, but not so potent as Ansible, I do recommend Rundeck. It is a very powerful multi-user/login graphical interface where you can automate much of your common day-to-day tasks, and even give watered down views to sysops or helpdesk people.
When running the commands, it also gives you windows with the output broken down by server/task. It can run multiple jobs in the background seamlessly, and allows you to see the report and output later on.
Please note there are people running Ansible+RunDeck as a web interface; not all cases are appropriated for that.
It also goes without saying that using Ansible and/or RunDeck can be construed as a form or part of the infra-structure documentation, and over time allows to replicate and improve the actions/recipes/Playbooks.
Lastly, it you are talking about a central command server, I would create one just up for the task. Actually the technical term is a jump box. 'Jump boxes' improve security, if you set them up right.
