Skip to main content

UDMG as Client (Remote SFTP with Scheduled Transfers)

This tutorial provides a detailed, step-by-step guide for configuring UDMG, focusing on a common file transfer scenario where UDMG acts an SFTP client. Both scenarios, where UDMG is pulling files and pushing files from and to the external SFTP server, respectively, are covered below. You will learn how to configure the necessary Credentials, Endpoints, and Pipelines to initiate secure file transfers with your partners' external systems.

Prerequisites

Before you begin, make sure the following prerequisites are met:

  • All UDMG components have been successfully installed:
  • You can access the UDMG Admin UI using the credentials created during the server installation.
    danger

    Be sure to change the password for the default System Admin so that unauthorized Users cannot log in as an Admin. Do not lose your new password. The default System Admin User cannot be restored if the password is lost.

  • You are familiar with UDMG Configuration Items, including how they relate to each other and with file transfers.
  • Get external SFTP server details from the server administrator: hostname, port, username, password/SSH key, and destination directory path

Key Steps

This is a high-level overview of the steps required to configure outbound file transfers:

Configuring UDMG as a Client for Remote SFTP Transfers

This section walks through the steps to configure UDMG as a client that connects to a remote SFTP server. You'll set up the required Credential to authenticate with the remote server and define the Pipeline that enables UDMG to either push or pull files from an external system.

Authentication

Step 1: Add One Key

This configuration tutorial requires a Public Key, which represents the Host Key of the external SFTP server. This key is used by UDMG to authenticate the server during the SSH connection, ensuring the server's identity. Your partner maintains their own SSH key pair and shares their Public Key with you.

To add the Public Key, follow these steps:

  1. From the Sidebar, click Configuration > Credentials.
  2. Click Add Credential.
  3. Select Public Key as the Credential Type.
  4. Complete the required fields.
  5. Click Add.

Step 2: Add One Credential for Client Authentication

This configuration tutorial requires a Credential, which corresponds to the authentication method required by the external SFTP server. Ask your partner (server administrator) for the required authentication method, username, and password/SSH key. The supported authentication methods are below:

info

For key authentication, a Private Key is required. When a private key is entered, UDMG derives the Public Key from the Private Key and transmits it when requested by the external SFTP server.

See Credentials for more information.

Configuration Items

Once the required Credentials have been added, you can begin defining the Configuration Items.

These Configuration Items provide abstraction layers that enable you to create powerful Pipelines for highly flexible file transfer setups.

While more complex configurations are possible, the following steps will walk you through a simple yet secure and commonly used configuration.

Step 3: Add Endpoints

Two Endpoints are required for this scenario: a Remote SFTP Server and a Local Filesystem.

To add the Remote SFTP Server Endpoint, follow these steps:

  1. From the Sidebar, click Configuration > Endpoints.
  2. Click Add Endpoint.
  3. Select the Remote SFTP Server as the Endpoint Type.
  4. Add a unique Name, such as Remote_SFTP_Server_1, for the new Endpoint.
  5. Specify the IP Address and Port combination of the external SFTP server.
  6. Select the Public Key you created earlier from the Credentials Name (Host Key) dropdown.
  7. Maintain default security algorithms.
  8. Click Add.
  9. Click the Validate button above the Details to confirm if an unauthenticated connection with the external SFTP server can be made. If the validation fails, check your configuration or contact your partner.

To add the Local Filesystem Endpoint, follow these steps:

  1. From the Sidebar, click Configuration > Endpoints.
  2. Click Add Endpoint.
  3. Select the Local Filesystem as the Endpoint Type.
  4. Add a unique Name, such as Local_Filesystem_1, for the new Endpoint.
  5. Specify a Root File Path, such as /data. The Root File Path is the root directory relative to UDMG's home directory (workDirectoryPath). It is used in configuring the full path of where the file will be transferred from (Push) or transferred to (Pull).
  6. Specify a Temporary Path, such as /tmp1. The field is only used in the Pull scenario.
  7. Click Add.

Step 4: Add Pipelines

A Pipeline defines and orchestrates a path for files to move between two Endpoints. It allows for flexible, repeatable, and customizable configurations/setups. A Pipeline includes a source and a destination. Two Pipelines must be created to cover both Push and Pull scenarios.

To add the push scenario Pipeline, follow these steps:

  1. From the Sidebar, click Configuration > Pipelines.
  2. Click Add Pipeline.
  3. Add a unique Name, such as Remote_Push_Supplier_A, for the new Pipeline.
  4. Select the Source Endpoint as Local_Filesystem_1 from earlier.
  5. Specify the Virtual Path, such as /inbound. The path where the file is to be transferred to on the external SFTP server. The Transfers Scheduled API destination parameter is appended to this field to create a full path.
  6. Specify the Relative Path, such as /invoices. The exact path where the file to be transferred exists on UDMG locally. The path is used to create a full path (workDirectoryPath + Root Path + Relative Path + Transfers Scheduled API source parameter).
  7. Maintain default Permissions. They are not used.
  8. Select the Destination Endpoint as Remote_SFTP_Server_1 from earlier.
  9. Select the client authentication Credential you created earlier from the Credentials Name dropdown.
  10. Click Add

Transfer Schedule

Pipelines with Remote SFTP Server Endpoints are triggered via the Transfers Scheduled API. The Pipeline requires both Pipeline Configuration and the required parameters in the API. The Transfer is scheduled to be executed based on the when or date and time field. If the date in the past, then the Transfer is initiated after the next system pending transfer check (defaulted to every minute).

Step 5: POST request

Use the following curl command to schedule a file transfer through the Transfers Scheduled API:

curl http://<UDMG_HOST>/api/v1/domains/${UDMG_DOMAIN_NAME}/transfers \
-X POST \
-H "Content-Type: application/json" \
-d '{
"pipeline": "Remote_Push_Supplier_A",
"when": "2025-07-03T15:43:52.344Z",
"source": "/credits.xlsx",
"destination": "/home/"
}'
{
"id": 1,
"pipeline": "Remote_Push_Supplier_A",
"username": "robi",
"source": "/data/invoices/credits.xlsx",
"destination": "/inbound/home/credits.xlsx",
"schedule": "2025-07-03T15:43:52.344Z",
"status": "Completed",
"executedAt": "2025-08-22T20:44:02Z",
"completedAt": "2025-08-22T20:44:02Z"
}

Deployment Complete

At this point, your UDMG Server and Configuration Items are fully configured and ready to operate:

  1. The Remote SFTP Server is used for outbound connections on the configured Endpoint's port.
  2. Upon pushing (sending) or pulling (receiving) a remote SFTP transfer, the Pipeline authenticates with the external SFTP server using the Credentials set on the Pipeline.
  3. If authenticated, the files can begin transferring, and the status is visible via the Transfers Dashboard.
info

For more information on configuration options and advanced settings, refer to the corresponding documentation sections.