ESnet home page

ESnet Network Performance Knowledge Base

DOE Office of Science
Tutorials and Talks
Search
Quick Start Guide for ssh-based GridFTP

Also see the GridFTP Server Configuration page.

Once you have GridFTP installed, you can test it using our GridFTP test server (you must be connected to a research and education network).

The ability to use sshd to provide secure authentication for GridFTP starting with in the Globus 4.2 release. You do not need to install all of Globus to use GridFTP.

Here is a 'quick start guide' to install GridFTP with ssh support only (i.e.: no X509 support). Do these steps on both the client and server hosts.

wget http://www.globus.org/ftppub/latest-stable/gt-latest-stable-all-source-installer.tar.bz2
bzip2 -d gt-latest-stable-all-source-installer.tar.bz2
tar xvf gt-latest-stable-all-source-installer.tar
cd gt-latest-stable-all-source-installer
./configure  --prefix /path/to/install   (ignore any java/ant warnings)
make gridftp  install  (and wait a LONG time. Very slow to build)

To configure GridFTP for ssh authentication do the following (both client and server hosts):

setenv GLOBUS_LOCATION /path/to/install 
source $GLOBUS_LOCATION/etc/globus-user-env.csh 

On client hosts:

$GLOBUS_LOCATION/setup/globus/setup-globus-gridftp-sshftp 

On server hosts (run as root):

$GLOBUS_LOCATION/setup/globus/setup-globus-gridftp-sshftp -server 

or (non-root option)

$GLOBUS_LOCATION/setup/globus/setup-globus-gridftp-sshftp -server -nonroot 

The GridFTP server is now automatically launched via sshd. Make sure you can ssh to both the source and destination host. Here are some sample commands:

    # directory listing
    globus-url-copy -list sshftp://gridhost.foo.gov/tmp/
    # copy file /etc/group
    globus-url-copy sshftp://gridhost.foo.gov/etc/group file:/tmp/group
    # parallel transfer of file /tmp/mybigdatafile
    globus-url-copy -p 4 sshftp://gridhost.foo.gov/tmp/mybigdatafile file:/tmp/myfile
    # test network throughput
    globus-url-copy -vb -p 4 sshftp://gridhost.lbl.gov/dev/zero sshftp://myhost.bar.gov/dev/null

More information on configuring and running GridFTP.

Explaination of globus-url-copy command line options.

Note that GridFTP now supports a UDP-based transport option using the "-udt" flag, which might be worth trying on congested paths. There some additional build steps to use udt mode:

make udt
# UDT mode requires the threaded version of both the client and server. 
# The non-threaded version is installed by default, so need to do something like this
cp $GLOBUS_LOCATION/bin/gcc32dbgpthr/shared/globus-url-copy $GLOBUS_LOCATION/bin
cp $GLOBUS_LOCATION/sbin/gcc32dbgpthr/shared/globus-gridftp-server $GLOBUS_LOCATION/sbin

By default GridFTP in ssh mode does not log error messages anywhere. To enable logging to syslog, add the following to $GLOBUS_LOCATION/etc/gridftp.conf:

log_level ERROR,WARN,INFO
log_module syslog

Replace $GLOBUS_LOCATION above with the location you have selected. Note that the log directory must be writeable by all GridFTP users.


You might also be interested in using the Software-as-a-Service Model of globus services.


© 2008-2010, ESnet

Privacy and Security Notice