Coming from Windows administration, I want to dig deeper in Linux (Debian).One of my burning questions I could not answer searching the web (didn't find it) is: how can I achieve the so called one-to-many remoting like in PowerShell for Windows?To break it down to the basics I would say:My view on Linux: I can ssh into a server and type my command I get the result. For an environment of 10 servers I would have to write a (perl/python?) script sending the command for each of them?My experience from Windows: I type my command and with invoke-command I can send this to a bunch of servers (maybe from a textfile) to execute simultaneously and get the result back (as an object for further work).I can even establish multiple sessions, the connection is held in the background, and selectively send commands to these sessions, and remote in and out like I need.(I heard of chef, puppet, etc. Is this something like that?)Update:I will go for cssh or pssh or dsh first and then take a look at Ansible. (Further, I hope to find out) how tmux does this parallel remoting like 'terminator' does. Thanks @jlliagre for pointing out the similar question with more ideas: How do I run the same linux command in more than one tab/shell simultaneously? tmux: :setw synchronize-panes on 
Linux equivalent to PowerShell's one-to-many remoting
linux;ssh;remote management
Summary: Ansible is a devops tool that is a powerful replacement to PowerShellRunDeck as a graphical interface is handySome people run RunDeck+Ansible togetherFor sending remote commands to several servers, for a beginner, I would recommend clustersshTo install clusterssh in Debian:apt-get install clustersshAnother 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 systems administration, Ansible is a very interesting alternative to Puppet. It is more lean, and it does not need dedicated remote agents as it works over SSH (it also has been bought by RedHat)The Playbooks are more elaborate than the command line options. However, to start using Ansible you need a simple installation and to setup the clients list text file. Afterwards, to run a command in all servers, it is as simple as doing:ansible all -m command -a uptimeThe 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=fullIt also has many modules defined that let you easily write comprehensive policies.Module Index - Ansible DocumentationIt also has got an interesting official hub/social network of repositories to search for already made ansible policies by the community. Ansible GalaxyAnsible 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. It is also capable of administering networking equipment (routers, switches, and firewall), which make it a very interesting solution as an automation turn key solution.How to install AnsibleYet 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.How to install RunDeckPlease 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.