| COMMAND NAME: hawq ssh |
| |
| Provides ssh access to multiple hosts at once. |
| |
| |
| ***************************************************** |
| SYNOPSIS |
| ***************************************************** |
| |
| hawq ssh { -f <hostfile_hawq ssh> | -h <hostname> [-h <hostname> ...] } |
| [-u userid] [-v] [-e] [<bash_command>] |
| |
| hawq ssh -? |
| |
| hawq ssh --version |
| |
| |
| ***************************************************** |
| DESCRIPTION |
| ***************************************************** |
| |
| The hawq ssh utility allows you to run bash shell commands on |
| multiple hosts at once using SSH (secure shell). You can execute |
| a single command by specifying it on the command-line, or omit |
| the command to enter into an interactive command-line session. |
| |
| To specify the hosts involved in the SSH session, use the -f |
| option to specify a file containing a list of host names, or use |
| the -h option to name single host names on the command-line. At |
| least one host name (-h) or a host file (-f) is required. Note that |
| the current host is not included in the session by default to |
| include the local host, you must explicitly declare it in the |
| list of hosts involved in the session. |
| |
| Before using hawq ssh, you must have a trusted host setup between |
| the hosts involved in the SSH session. You can use the utility |
| hawq ssh-exkeys to update the known host files and exchange public |
| keys between hosts if you have not done so already. |
| |
| If you do not specify a command on the command-line, hawq ssh will |
| go into interactive mode. At the hawq ssh command prompt (=>), you |
| can enter a command as you would in a regular bash terminal command-line, |
| and the command will be executed on all hosts involved in the session. |
| To end an interactive session, press CTRL+D on the keyboard or type |
| exit or quit. |
| |
| If a user name is not specified in the host list file, hawq ssh will |
| execute commands as the currently logged in user. To determine the |
| currently logged in user, do a whoami command. By default, hawq ssh goes |
| to $HOME of the session user on the remote hosts after login. To ensure |
| commands are executed correctly on all remote hosts, you should always |
| enter absolute paths. |
| |
| |
| ***************************************************** |
| OPTIONS |
| ***************************************************** |
| |
| <bash_command> |
| |
| A bash shell command to execute on all hosts involved in this |
| session (optionally enclosed in quotes). If not specified, hawq ssh |
| will start an interactive session. |
| |
| |
| -e (echo) |
| |
| Optional. Echoes the commands passed to each host and their |
| resulting output while running in non-interactive mode. |
| |
| |
| -f <hostfile_hawqssh> |
| |
| Specifies the name of a file that contains a list of hosts that |
| will participate in this SSH session. The host name is required, |
| and you can optionally specify an alternate user name and/or SSH |
| port number per host. The syntax of the host file is one host |
| per line as follows:: |
| |
| [username@]hostname[:ssh_port] |
| |
| -h <hostname> |
| |
| Specifies a single host name that will participate in this SSH session. |
| You can use the -h option multiple times to specify multiple host names. |
| |
| |
| -u <userid> |
| |
| Specifies the userid for this SSH session. |
| |
| |
| -v (verbose mode) |
| |
| Optional. Reports additional messages in addition to the command |
| output when running in non-interactive mode. |
| |
| |
| --version |
| |
| Displays the version of this utility. |
| |
| |
| -? (help) |
| |
| Displays the online help. |
| |
| |
| |
| |
| ***************************************************** |
| EXAMPLES |
| ***************************************************** |
| |
| Start an interactive group SSH session with all hosts listed |
| in the file hostfile_hawqssh: |
| |
| $ hawq ssh -f hostfile_hawqssh |
| |
| |
| At the hawq ssh interactive command prompt, run a shell command |
| on all the hosts involved in this session. |
| |
| => ls -a /data/primary/* |
| |
| Exit an interactive session: |
| |
| => exit |
| |
| Start a non-interactive group SSH session with the hosts |
| named dw1 and dw2 and pass a file containing several commands |
| named command_file to hawq ssh: |
| |
| $ hawq ssh -h sdw1 -h sdw2 -v -e < command_file |
| |
| Execute single commands in non-interactive mode on hosts sdw2 |
| and localhost: |
| |
| $ hawq ssh -h sdw2 -h localhost -v -e 'ls -a /data/primary/*' |
| $ hawq ssh -h sdw2 -h localhost -v -e 'echo $GPHOME' |
| $ hawq ssh -h sdw2 -h localhost -v -e 'ls -1 | wc -l' |