An Introduction to the CLI

This guide provides a brief introduction to Globus Online's command-line interface (CLI). Additional CLI features are discussed in the document Globus Online CLI: Beyond the Basics.

Prerequisites

To use the CLI you must have a Globus Online account with ssh access enabled.

CLI Structure

There is no need to install custom client software. CLI users interact with Globus Online via secure shell:

If desired, gsissh can be used in place of ssh:

File Transfer

Globus Online provides two commands for moving files: transfer and scp. The scp command offers a subset of transfer’s functionality but is packaged in a way that should be familiar to users of the standalone scp command.

All Globus Online accounts are provisioned with two endpoints for exploratory use, so as soon as you have an account you should be able to transfer /share/godata/file1.txt from endpoint go#ep1 to your home directory on go#ep2, as demonstrated here by user lcc:

ssh [email protected] scp go#ep1:/share/godata/file1.txt go#ep2:~/myfile.txt
Contacting 'myproxy.tutorial.globusonline.org'... Activating 'ep2' Activating 'ep1' Task ID: 19029d64-ecec-11df-aa30-1231350018b1 [XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX] 1/1 0.00 mbps
ssh [email protected] ls go#ep2/~/
myfile.txt

Online Help

You can execute the help command to view the current Globus Online CLI command set:

ssh [email protected] help
Type '<command> -h' for basic help on a command. Type 'man <command>' for detailed help.
Task Management: cancel status details wait events Task Creation: scp transfer Endpoint Management: endpoint-add endpoint-list endpoint-activate endpoint-modify endpoint-deactivate endpoint-remove endpoint-rename Other: help man history profile (deprecated) ls versions

In addition, <command> -h displays a command syntax summary and man <command> displays the command's manual page.

Endpoint Activation

Though it happens automatically with go#* endpoints, transfers involving other endpoints require that you activate them. Activation is Globus Online's endpoint user authentication mechanism; it enables endpoint owners to determine who is transferring files. Transfers will not go through unless both the source and destination endpoints are activated.

You can practice by activating the Globus Online endpoints:

ssh [email protected] endpoint-activate go#*
Contacting 'myproxy.tutorial.globusonline.org'... Credential Subject : /O=Grid/OU=GlobusTutorial/CN=lcc Credential Time Left: 12:00:00 Activating 'go#ep1' Activating 'go#ep2'

In the following example user lcc activates her TeraGrid endpoints using the ssh -t option to prevent her TeraGrid passphrase from being echoed to stdout.

Note that even if an endpoint is activated transfers will fail if the user is not authorized to use it. Access to a given endpoint is entirely within the endpoint owner's control, so you must contact owners directly to obtain permission to use their endpoints.

ssh -t [email protected] endpoint-activate tg#*
Contacting 'myproxy.teragrid.org'... Enter MyProxy pass phrase: Credential Subject : /C=US/O=National Center for Supercomputing Applications/CN=Lisa Childers Credential Time Left: 12:00:01 Activating 'tg#abe' Activating 'tg#bigred' Activating 'tg#cobalt' Activating 'tg#condor' Activating 'tg#ember' Activating 'tg#frost' Activating 'tg#hpss' Activating 'tg#kraken' Activating 'tg#lincoln' Activating 'tg#lonestar' Activating 'tg#longhorn' Activating 'tg#nstg' Activating 'tg#pople' Activating 'tg#queenbee' Activating 'tg#ranch' Activating 'tg#ranger' Activating 'tg#spur' Activating 'tg#steele' Connection to cli.globusonline.org closed.

Because frost and ranger have been activated using her TeraGrid credentials and the frost and ranger owners have authorized her to access their endpoints, lcc is able to transfer a file:

ssh [email protected] scp tg#frost:~/frost-file.txt tg#ranger:~/to-ranger.txt
Task ID: 6356aa16-ed20-11df-aa30-1231350018b1 [XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX] 1/1 0.00 mbps

lcc activates the NERSC endpoints using her NIM password:

ssh -t [email protected] endpoint-activate nersc#dtn -U childers
Contacting 'nerscca.nersc.gov'... Enter MyProxy pass phrase: Credential Subject : /DC=gov/DC=nersc/OU=People/CN=Lisa Childers 47849 Credential Time Left: 11:59:58 Activating 'nersc#dtn' Connection to cli.globusonline.org closed.

And OLCF using her RSA SecurID:

ssh -t [email protected] endpoint-activate olcf#dtn -U childers
Contacting 'myproxy1.ccs.ornl.gov'... Enter MyProxy pass phrase: Credential Subject : /DC=org/DC=doegrids/OU=People/CN=Lisa C Childers 319818/CN=1577622648/CN=574492166/CN=1930388809 Credential Time Left: 12:00:00 Activating 'olcf#dtn' Connection to cli.globusonline.org closed.

An endpoint can also be activated using grid-proxy-init and gsissh:

grid-proxy-init
Your identity: /DC=org/DC=doegrids/OU=People/CN=Lisa C Childers 319818 Enter GRID pass phrase for this identity: Creating proxy ..................................................... Done Your proxy is valid until: Fri Nov 12 02:17:27 2010
gsissh [email protected] endpoint-activate -g ci#pads
Credential Subject : /DC=org/DC=doegrids/OU=People/CN=Lisa C Childers 319818/CN=529754051/CN=1462231917 Credential Time Left: 11:59:54 Activating 'ci#pads'

Endpoints can also be activated inline by specifying the -g option with the transfer and scp commands.

For More Information

The Globus Online CLI is quite powerful and includes many features not mentioned above (e.g., file synchronization, monitoring, endpoint management, etc.) You can learn more about the full CLI feature set by reading the various Globus Online man pages and the Beyond the Basics guide.

Please send all questions to . We are happy to be of service!