Take the 2-minute tour ×
Server Fault is a question and answer site for professional system and network administrators. It's 100% free, no registration required.

Is there any alternative to Clusterssh,pssh etc? to manage multiple ssh based servers through one interface? one weakness in Clusterssh is that my servers use key based authentication, with passhprase to login, and there is no way to login to servers using the private key.

Is there any alternative available which supports authentication with Private keys?

share|improve this question
    
What is your problem with pssh? Do you need parallel or just a program to manage multiple SSH servers? –  quanta Aug 28 '12 at 14:41
    
i actually need to see the Real-time output of few type of commands that i run on the servers. just like Cluster-ssh does. –  Farhan Aug 28 '12 at 14:54
2  
Take a look at pssh's -P option. –  quanta Aug 28 '12 at 14:57
add comment

6 Answers

up vote 3 down vote accepted

Take a look on Rundeck - http://rundeck.org/

share|improve this answer
    
it seems good but i am badly stuck at ADDING The nodes to it. is there a simple way to add servers to it? as it only accepts specific xml pattern based files for nodes to be added :( –  Farhan Aug 28 '12 at 14:20
add comment
  1. Fabric

    Define your tasks first:

    from fabric.api import *
    
    @parallel
    @hosts('192.168.3.118', '192.168.6.142')
    
    def hostname():
        run('hostname')
    

    Then executing via the fab command-line tool:

    $ fab -f /path/to/.py/file hostname
    [192.168.3.118] Executing task 'hostname'
    [192.168.6.142] Executing task 'hostname'
    [192.168.6.142] run: hostname
    [192.168.3.118] run: hostname
    [192.168.6.142] out: SVR040-6142
    
    [192.168.3.118] out: SVR040-3118.localdomain
    
    
    Done.
    
  2. Gnome Connection Manager
  3. PAC Manager
share|improve this answer
add comment

You can go whole hog and install a configuration management system like Puppet or Chef. You haven't mentioned how many nodes you're actually trying to manage, so this might be overkill, but, certainly, you can centrally control a lot of machines this way. If you're small right now, but are growing, you may also want to set up, say, Chef, before you get that much bigger.

If you need to run ad hoc commands over a specific set of nodes, you can do something like knife ssh 'roles:webserver' 'hostname' (knife is the command line tool for chef) to run the hostname command for all nodes that have the webserver role.

share|improve this answer
    
i have about 15-20 server.i already have puppet with me, but i need real-time interaction with all ssh terminals for some tasks. –  Farhan Aug 28 '12 at 14:41
    
Ah, OK. I guess puppet doesn't have an ssh facility. –  cjc Aug 28 '12 at 14:43
add comment

You should also look at MCollective, which is probably the best and most flexible way to interact with multiple servers in real-time. It is a bit of an undertaking to set up correctly and may be a bit over the top for your needs, but it certainly beats pssh, Clusterssh and all other SSH-based solutions. And once you have it in place there is probably nothing you can't do with it, provided you know a bit of Ruby.

share|improve this answer
add comment

I prefer shmux for executing the same command on many hosts in parallel.

share|improve this answer
add comment

The bash prompt works for simple things:

make a list of servers in servers.txt, one line per server.

then do:

$ while read $server; do ssh user@$server "command args"; done < servers.txt
share|improve this answer
    
i want an Interactive way to use all servers. bash cant help in that case. Cluster ssh works best in that case, but its limited. –  Farhan Aug 28 '12 at 13:55
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.