-
Notifications
You must be signed in to change notification settings - Fork 79
Frequently Asked Questions (FAQ)
'''NOTE:''' These answers are targeted at the latest version of ClusterSSH available, unless otherwise indicated.
Ever had to make the same change on more than one unix server? Find it annoyingly painful to keep repeating the exact same commands again and again and again?
This tool addresses exactly this problem. You run a utility (cssh) providing a number of server names as parameters, and then xterms opens up to each server with an extra "console" window. Anything typed into the console is replicated into each server window (so, for examples, you can edit the same file on N machines at the same time, or run the same commands with the same parameters across those servers).
It is also possible to type into the server windows directly, or temporarily disable replication to one or more of the servers through the "Hosts" menu.
The utility itself is called "cssh". The project name is ClusterSSH. The project is not called "cssh" because when the project was first registered on SourceForge that name was already in use.
If editing files, never assume the file is exactly the same on all servers.
For example, when editing the hosts file, hosts may be in a different order. Do not just go to line 3 and blindly make changes, but instead search for what you want to edit. This should avoid any nasty side-effects of working on the wrong line.
It is wise to check all the servers to ensure the commands have worked as expected before doing anything too destructive (i.e. the file edits have resulted in the required changes).
ClusterSSH is known to work on ...
- Solaris 2.6, 8, 9 and 10 both sparc and x86
- Linux (RedHat Enterprise, Redhat Fedora, CentOS, Debian and Ubuntu)
- OpenBSD x86
- HP-UX Risc2 LP64
It should work on
- any POSIX compliant UNIX style OS, i.e. cygwin
How big is your screen?
There is no hard limit - it is all dependent on the machine ClusterSSH is being used on. As an indicator the author has had 95 tiled client windows (plus console) open and working with no problems on a Fedora Core 4 system with dual head 19" screens. However, the visible area of the client windows is very small and particular notice should be taken of the "Warnings for use" section above (the size of the terminal is vertically shrunk to fit all the windows onto the screen).
- A POSIX compliant admin server (to run cssh from).
- Perl 5.6.1 or newer.
These may be available in your OS software repository (i.e. for linux look at RPMForge), else from [http://www.cpan.org CPAN].
- Tk
- X11::Protocol
The cluster tag database. Contains a list of tags and hostnames, in the form
[@]hostname [...]
Newlines and comments (delimited with a #) are ignored.
Cluster definitions can also be added to the $HOME/.csshrc file
Global configuration file, sourced by all users. Can be generated by:
cssh -u > /etc/csshrc
Per user configuration file. Can be generated by:
cssh -u > /etc/csshrc
To add a cluster definition to this file, use the following format
cluster_tag1 = server1 server2 user@server3
cluster_tag2 = server4 server5
clusters = cluster_tag1 cluster_tag2
Be aware of using "reserved names" and no check is currently performed for them.
Telnet, RSH and Console can already be used with Clusterssh - see the 'ctel', 'crsh' and 'ccon' commands. Other software may be used with some code modifications.
To connect to machine X you need to first connect to machine Y
To do this you can either use ChainSSH or set up an appropriate ssh tunnel - see ProxyCommand in the ssh_config man page for entries to add to your ~/.ssh/config file
You may need to enable an X11 setting to do this - the X documentation suggests adding *selectToClipboard: true
to the /etc/X11/app-defaults/XTerm file. See issue https://github.com/duncs/clusterssh/issues/80 for more information.
ClusterSSH has a wrapper for Vagrant (see https://github.com/purpleidea/oh-my-vagrant/blob/6bf200caa923174e1a1af146d24069e0309c948e/extras/vagrant.bashrc#L226)
Just in case ClusterSSH doesn't quite do what you want or work as you expect, these alternatives are available (depending on platform and OS)
BitCluster - http://www.bitmover.com/bitcluster/
PConsole - http://www.heiho.net/pconsole/
MultiXTerm - http://expect.nist.gov/example/multixterm.man.html
C3 - http://www.csm.ornl.gov/torc/C3/C3documentation.shtml
Keyboardcast - https://launchpad.net/keyboardcast
PuTTYCS - PuTTY Command Sender - http://www.millardsoftware.com/puttycs