Same command on multiple servers

I'm just wondering if there is any fellow sysadmin with the need to execute one command on multiple servers. If so, what technique are you using?

I have grown tired to ssh-ing to 3-5 servers and executing the same thing over and over again, so I'm thinking to make my life easier.
Also, I think I should create keys so I don't have to enter passwords anymore (though I'm using root). After 2 years of doing this, I kind of developed a laziness.

I googled it up, I know about cssh, pssh, tentakel (this one seems cool), and the more pro-genre - Puppet (of which I just heard of, didn't invest the time to read the docs).

BTW, I'm using XP+putty, so if there is any putty-cool-thingy available, that's welcome too. If not, I can always ssh to one server and from there start my rest-of-the-servers-conquest :) *evil*

Hit me up. Thanks.


Solution 1:

Look at:
clusterssh

Solution 2:

If you're a Ruby person then Capistrano is worth considering. If you're keen on the idea of Puppet then cfengine and bcfg2 are also worth taking a look at.

I'm really liking Capistrano for regular tasks, though I'm not sure I'm using it very well and I'd probably benefit from some training. For more one-off tasks I'd recommend clusterssh.