GridFTP: Quickstart Guide for GridFTP-Lite (GridFTP using SSH security)

GridFTP-Lite:

The Globus Toolkit's GridFTP code base has become the de facto standard for data movement within Grid projects, and is in use in the vast majority of such projects in the US and abroad. These projects appreciate GridFTP's integration with the public key infrastructure (PKI)-based Grid Security Infrastructure (GSI), as well as its implementation of the fast, efficient, and robust GridFTP data transport protocol. Another important user community for GridFTP comprises small application groups and researchers and they struggle due to challenges inherent in configuring GSI. For this user community, GridFTP's reliance on GSI can represent a time investment that is not justified, due to the associated need to establish, configure, and manage an appropriate PKI. Thus, this community has expressed a strong interest in seeing extensions to GridFTP that would allow for alternative security solutions. Motivated by these requests, we have developed what is called GridFTP-Lite that uses a SSH based authentication mechanism.

Installation:

wget
http://www.globus.org/ftppub/latest-stable/gt-latest-stable-all-source-installer.tar.gz
tar xfz gt-latest-stable-all-source-installer.tar.gz
cd gt*-all-source-installer
./configure --prefix=/path/to/install/to
make gridftp install
/*wait 10-20 minutes*/

Configuring the server:

% /path/to/install/to/setup/globus/setup-globus-gridftp-sshftp -server

In the absence of root access,

% /path/to/install/to/setup/globus/setup-globus-gridftp-sshftp -server -nonroot

The above command creates a file named 'sshftp' in '/etc/grid-security' (if run as root) or in '$HOME/.globus' (if run as nonroot). The default contents of the 'sshftp' file is shown below. The users can add commandline options and customize the GridFTP server by editing this file.

	export GLOBUS_LOCATION=/path/to/install/to
	. $GLOBUS_LOCATION/etc/globus-user-env.sh

	#export GLOBUS_TCP_PORT_RANGE=50000,50100

	$GLOBUS_LOCATION/sbin/globus-gridftp-server -ssh
	# -data-interface 

Note: There is no need to explicitly start the server.

Configuring the client (globus-url-copy):

% /path/to/install/to/setup/globus/setup-globus-gridftp-sshftp

Performing Transfers:

% export GLOBUS_LOCATION=/path/to/install/to
% . $GLOBUS_LOCATION/etc/globus-user-env.sh
% globus-url-copy -v file:/etc/group sshftp://127.0.0.1/tmp/group 
% globus-url-copy -list sshftp://127.0.0.1/tmp/