Search

Clusterssh: control several ssh sessions via a single interface

December 9th, 2007 edited by Tincho

Article submitted by Maurizio Pedraglio. We are running out of articles! Please help DPOTD and submit good articles about software you like!

Clusterssh is a graphical utility that allows you to open several ssh connections and execute commands simultaneously in all of them. I find it powerful in many cases, for example when I’ve to perform a dist-upgrade on many different servers.

It provides a small window to control the sessions, and one xterm window for each one of them. Here are some screen shots using it on Ubuntu and Gnome 2.20.

You can open a ssh session simply clicking on “Host” and then “Add Host”.

img1.jpg

Type user@server in the “Add Host” window and a new shell will appear in a new window.

You’ll be able to open n different ssh session versus n hosts. You should focus the input box in the controlling window to send commands to all the shells at once.

img3.jpg

If you want to execute a command only in a single host, simply focus the right shell. The other shells won’t receive anything, and the command will take effect only on the selected host.

If you want to detach a shell from the parallel command execution, simple uncheck it in the “Host” menu. In the case below commands will be executed on host 192.168.15.104 and localhost1 but not on localhost

img2.jpg

Others commands available: use “Toggle active state“ to uncheck all host; “Retile” allows you to reorganise windows in the desktop. Clusterssh can also be launched from the command line, just type in a shell:

cssh serverA serverB … serverN

Clusterssh has been available both in Debian and Ubuntu since a long time ago

Posted in Debian, Ubuntu |

12 Responses

  1. Andriy Lesyuk Says:

    Something similar can be done with konsole (part of KDE)… Check menu items under “View” (not sure how it is named in english). The only difference is that seems like there is no way to show terminal windows tiled (konsole uses tabs).

  2. Balázs Bárány Says:

    I evaluated clusterssh for this task but for my requirements Clusterm was better.

  3. Balázs Bárány Says:

    Clusterm homepage:

    http://sourceforge.net/projects/clusterm

  4. ergosum Says:

    It would have been useful to compare to similar programs such as tentakel. A list of similar programs available at http://tentakel.biskalar.de/similar/

  5. Norman Says:

    You may also want to look at pconsole, which has also been a part of debian for a long time.

  6. Phil! Says:

    There’s also omnitty at http://omnitty.sourceforge.net/ that does something similar in a text environment.

  7. Tim G Says:

    This seems pretty pointless. KDE’s “konsole” program can already do this sort of thing, to more than just separate ssh sessions. Open up a bunch of tabs to where you want the commands to go, pick a tab to be the “master”, then do View->”Send Input to All Sessions”.

  8. JF Prevost Says:

    Tim G: not everyone uses KDE …

  9. Expect_user Says:

    And the example program from the expect distribution http://expect.nist.gov/example/multixterm.man.html

  10. Lodesi Says:

    Or there is mhssh, available on http://piggledy.org/ (on the bottom)
    That is simple, but efficient

  11. mrAshley Says:

    In the title ’serveral’ should, I believe, be ’several’.

  12. Tincho Says:

    Heh, fixed now.

    Thanks!