Provided by: mussh_1.0-1_all bug


       mussh - MUltihost SSH


       mussh [ OPTIONS ] <-h host...  | -H hostfile > [-c cmd ] [-C scriptfile ]


       mussh  is  a  shell  script  that allows you to execute a command or script over ssh(1) on
       multiple hosts with one command. When possible mussh will  use  ssh-agent(1)  and  RSA/DSA
       keys to minimize the need to enter your password more than once.


       --help Prints full help text.

       -d     Same as -d 1

       -d 0   Turns debug mode off.

       -d 1   On  STDERR  prints out basic actions and ssh-agent activity and which host is being
              connected to.

       -d 2   Includes all of the output from -d1, the list of hosts, the  command/script  as  it
              will be executed on each host, and a lot more.

       -v     Same as -v 1

       -v 1   Sets ssh in debug1 mode by passing "-v" to ssh.

       -v 2   Sets ssh in debug2 mode by passing "-v -v" to ssh.

       -v 3   Sets ssh in debug3 mode by passing "-v -v -v" to ssh.

       -m [n] Run  concurrently  on  'n'  hosts  at  a  time  (asynchronous).  Use '0' (zero) for
              infinite. (default)

       -q     No output unless necessary.  This will cancel -d  and  -v  if  after  them  on  the
              command  line.  It also suppresses the output of each host.  This will NOT suppress
              the password/passphrase prompts required to log into each host.

       -i <identity> [identity ..]
              Load an identity file.  When -i is used, the specified identity file(s)  is  loaded
              instead  of the default identity.  You can load as many RSA/DSA identities as you'd

       -o <ssh-args>
              Args to pass to ssh with -o option.  See the ssh(1) man page for more info  on  the
              -o option.

       -a     Force loading ssh-agent.  Without this flag, mussh will not load another agent when
              one is already loaded.

       -A     Do NOT load ssh-agent.  If no agent is loaded you will be prompted for  a  password
              or  passphrase  by  ssh  for  each  host.   If you do not have RSA/DSA keys for the
              destination hosts, this will save you some hassle.

       -b     Print each hosts' output in a block without mingling with other hosts' output.

       -B     Allow hosts' output to mingle. (default)

       -u     Unique.  Eliminate duplicate hosts. (default) If you a  host  or  user@host  occurs
              more  than once across files specified with -H or hosts specified with -h, the host
              or user@host is used only once.

       -U     Do NOT make host list unique.  This simply overrides the -u flag.  This will  cause
              scripts to be executed on duplicate hosts once per listing.

       -P     Do  NOT  fall back to passwords on any host.  This will skip hosts where keys fail.
              If you use this with '-d' you'll still see which hosts failed.

       -l <login>
              Use 'login' when no other is specified with hostname.

       -L <login>
              Force use of 'login' name on all hosts.  These can be handy for adding  'root@'  to
              hostnames kept in a file for -H option.  With -h it means you get to type less.

       -s <shell>
              Path to shell on remote host. (Default: bash)

       -t <secs>
              Timeout setting for each session.  (requires openssh 3.8 or newer)

       -V     Print version info and exit.


       -p [user@]<host>
              Host to use as proxy.  (Must have mussh installed)

       -po <ssh-args>
              Args to pass to ssh on proxy with -o option.


       -h [user@]<host> [[user@]<host> ..]
              Add a host to list of hosts.  May be used more than once.

       -H <file> [file ..]
              Add  contents  of  file(s)  to list of hosts.  Files should have one host per line.
              Use "#" for comments.


       If neither is specified, commands will be read from standard input.

       -c <command>
              Add a command or quoted list of commands  and  args  to  list  of  commands  to  be
              executed on each host.  May be used more than once.

       -C <file> [file ..]
              Add  file  contents  to  list of commands to be executed on each host.  May be used
              more than once.


       When proxying, mussh can use a single remote server to as a bastion host.  All hosts  will
       be  connected  to  from  the  central  host  rather  than  from the computer where you are
       initially running mussh.  This can be handy when you  only  have  access  to  one  machine
       behind a firewall.

       The  proxy  host must have OpenSSH 2.3 or greater, or an sshd that works with ForwardAgent
       under ssh2.  Proxy server must also have mussh installed in your PATH.  To verify that  it
       is  in your path use "ssh user@proxy 'which mussh'".  Use "ssh user@proxy 'echo $PATH'" to
       determine what your path is.


       Assuming that you're not turning off the  agent  with  '-A'  mussh  will  attempt  to  use
       ssh-agent(1).   Normally  mussh will get rid of the agent when it exits.  See EXAMPLES for


       There is an EXAMPLES file with detailed examples.

       The basic command:
              $ mussh -h foo bar baz

       A simple command:
              $ mussh -h foo bar baz -c 'rpm -e emacs'

       A simple command asynchronously:
              $ mussh -h foo bar baz -c 'rpm -e emacs' -m

       Using a specific key:
              $ mussh -h foo bar baz -c 'rpm -e emacs' -i ~/.ssh/my_other.key

       Loading a list of hosts from a file:
              $ mussh -H /tmp/hostlist.txt -c 'rpm -e emacs'

       Loading a script from a file:
              $ mussh -h foo bar baz -C /tmp/


       Please report any bugs at


       Dave Fogarty <doughnut at doughnut dot net>


       ssh(1), ssh-agent(1)