Introduction

This tutorial describes how to configure a YADE Command Line Client (CLC) to transfer files to a target server via a second YADE CLC that has been installed on a jump host.

This is a relatively complex example but it has been deliberately selected to demonstrate how simply real life use cases can be configured using YADE and the XML Editor.

This tutorial describes the use of the SOS XML Editor to generate the necessary transfer configuration file. The use of the Editor is intended to simplify and speed up the configuration process, particularly for complex file transfer situations, and reduce the occurrence of configuration errors. The Editor uses an XSD schema to generate and validate the YADE configuration. In addition, the Editor is able to generate the the new XML format that will be introduced with release 1.11 of YADE. A comparison between the new XML format and the current (i.e. used in releases up to and including 1.10) is available in the YADE user manual Configuring and Running File Transfers section.

YADE Tutorials List

This tutorial is part of a series describing how to get started with using the YADE Client via its Command Line Interface and configuring simple file management tasks.

YADE Client Command Line Interface

  1. Getting Started and Downloading files
  2. Simple File Selection
  3. More Advanced File Selection
  4. File Transfer

  5. Checking files for completeness
  6. Public / Private Key Authentication
  7. Transfer via a Jump Host / DMZ

YADE Background Service

  1. Installation, Configuration and Use

See the Using the tutorials with the YADE Client Command Line Interface article for information about setting-up and running the tutorial examples.

Background Information:

Download Configuration Files

Use Case

Consider the situation in an organization where security restrictions prohibit direct file transfer both between parts of the organization network and the Internet and between different organization locations.

In particular, consider the case where a user wishes to transfer files from their desktop computer over the Internet to a server, Japan, and where:

 

Configuration

  1. The jump fragment

    1. The first step is to configure the JumpFragment for the London server, as shown in the next screenshot.
      This configuration fragment is identified by the name attribute of the JumpFragment parameter and as can be seen in the screenshot has three main components:

      1. BasicConnection element,

      2. an SSHAuthentication element and

      3. the ProxyForSFTP element. Detailed descriptions of all these elements can be found in the relevant Parameter Reference sections, which are linked behind the parameter names.

    2. Note that:

      1. The JumpCommand parameter specifies the operation that is to be carried out by the YADE Client on the jump server.

      2. The AuthenticationFile element specifies the path to the RSA key file on the user's local file system that is used to authenticate the user on the jump host.

  2. The target fragment

    1. The second step is to configure the target protocol fragment for the London server, as shown in the next screenshot.
      1. This element specifies the parameters required so that the YADE Client on the jump host can access the target server.
      2. As can be seen from the screenshot the fragment is protocol-specific and contains a JumpFragmentRef parameter which specifies the name of the JumpFragment element to be used to access the target server.
        This means that it is only necessary to specify the target server and the jump host will be automatically added once the JumpFragment has been configured and referenced for the target.

  3. The transfer profiles

    1. Transfer to the Internet
      The next screenshot shows the transfer profile specifying the operation to be carried out (copy), the operation source (local) and target (the Japan server accessed using the Tokyo account via the UK jump server, specified using the SFTPFragmentRef parameter)



    2. Transfer from the Internet
      The next screenshot shows the profile configuration that would be required to carry out a similar transfer operation from the Japan server to the user's local file system via the jump host and proxy server.
      This profile can be seen to be very similar to the jump_copy_to_internet profile shown above and illustrates how relatively simple configuration elements can be generated.

Generation of the settings.ini configuration file

Calling the transfer operation (YADE Releases 1.10 and earlier)

A jump host file transfer operation is called from the command line in a similar manner to a 'standard' file transfer operation - i.e. by calling  the configuration settings file and the relevant profile where the settings file has the name jump_host.ini.

However note that the jade4DMZ.cmd script is called instead of the standard jade.cmd script.

The call for a Windows system would be:

jade4dmz.cmd -settings="%USERPROFILE%\jade_demo\tutorial_7_jump_host\jump_host.ini" -profile="jump_copy_to_internet_proxy"

and on a Unix system:

./jade4dmz.sh -settings="${HOME}/jade_demo/tutorial_7_jump_host/jump_host.ini" -profile="jump_copy_to_internet_proxy"

File Transfer Details

Integration with the YADE Background Service