IBM Aspera Desktop Client 4.4 For Windows
IBM Aspera Desktop Client 4.4 For Windows
IBM
Contents
ii
Logging client file system activity on HSTS....................................................................................... 117
Product limitations.............................................................................................................................117
iii
iv
High-Speed Transfer Client Admin Guide for Windows
Welcome to the High-Speed Transfer Client documentation, where you can find information about how to
install, maintain, and use the High-Speed Transfer Client.
Introduction
Thanks for choosing Aspera and welcome to the world of unbelievably fast and secure data transfer.
The basics
Aspera high-speed transfers begin when an Aspera client authenticates to an Aspera server and requests
a transfer. If the client user has authorization, then transfer tools are started on the client and server and
the transfer proceeds.
For example, an IBM Aspera Desktop Client user connects to an IBM Aspera High-Speed Transfer Server
and initiates a transfer:
Depending on the user's transfer request, files and folders can be transferred to the server from the client
(uploaded) or transferred to the client from the server (downloaded). The source and destination can be
cloud storage, an NFS or CIFS mount, and IBM Spectrum Scale storage, to name a few.
What is the server?
The Aspera server receives transfer requests from Aspera clients, determines whether the user has
permission to access the server and authorization to the target area of the file system (source or
destination with read or write access), and participates in transfers. The server can be:
• An on-premises installation of IBM Aspera High-Speed Transfer Server (HSTS), IBM Aspera High-Speed
Transfer Endpoint (HSTE), which permits one client connection.
• A HSTS installed as part of IBM Aspera Faspex, or
• An HSTS deployed in object storage as an IBM Aspera On-Demand instance, an IBM Aspera on Cloud
transfer service node, or an IBM Aspera Transfer Cluster Manager node.
What is the client?
The Aspera client is the program that requests a transfer to the Aspera server. Aspera applications that
can act as clients include:
• IBM Aspera Desktop Client.
• Faspex.
• IBM Aspera Connect.
• HSTS and HSTE.
• IBM Aspera Command Line Interface - ascli (open source).
What is FASP?
At the heart of your Aspera ecosystem are the FASP transfer engines Ascp and Ascp4.
Ascp maximizes data transport over any network and is suited to large files. It is a powerful command line
tool and also drives transfers that are started in the GUI.
Procedure
1. Review the system requirements and install Desktop Client.
See “Requirements” on page 4 and “Installing Desktop Client” on page 7.
2. Configure the firewall, if it is not already configured.
See “Configuring the firewall” on page 9.
3. Configure transfer preferences.
You can configure your bandwidth usage, email notification, and proxy settings to apply to all transfers.
For more information, see “Global bandwidth settings” on page 13 and “Enabling a transfer proxy or
HTTP proxy” on page 14.
4. Test a locally initiated transfer to the Aspera demonstration server to confirm that your installation and
firewall configuration are operational.
For instructions, see “Testing a transfer” on page 9. This provides a simple walk-through of how to
set up a connection with a server and transfer.
5. Configure your email notification preferences.
You can receive emails when transfer sessions start and finish to keep up to date on your transfer
progress. For more information, see “Configuring transfer notifications” on page 38.
6. If you need to authenticate to the remote server with an SSH key, create an SSH key and send the
public key to the server admin.
For instructions on creating an SSH key, see “Creating SSH keys in the GUI” on page 27 or “Creating
SSH keys from the command line” on page 89.
7. To run transfers in the GUI, create and configure a connection to the server.
For instructions, see “Adding and editing connections” on page 18. If required, configure a proxy
(“Enabling a transfer proxy or HTTP proxy” on page 14). You can also configure transfer notifications
(“Scheduling and customizing transfers in advanced mode” on page 35).
Results
Once you confirm that you can transfer with your server, your basic setup is complete.
• If you want to automatically send or receive files and folders when they are added to a specific folder on
your computer or the server, see “Hot Folders” on page 46.
Requirements
System requirements for Desktop Client.
• Product-specific Aspera license file .
• Windows 64-bit: Windows 8.1, 10, or Windows Server 2012 R2, 2016, 2019.
• For usage in an Active Directory environment you must have access to a domain administrator account
to install the product.
• Access to run WMI.
Procedure
1. Verify the current version.
The steps that are required to prepare for an upgrade depend on your version. To view the current
product and version, click Tools > License in the GUI or run the following command:
> ascp -A
7. If you modified the daemon startup scripts for Aspera Central and the Aspera Node Service (for
example, as part of an Aspera API integration), back up the modified files. These files are overwritten
during an upgrade and you will need to copy your modifications into the new files after upgrading.
Procedure
1. Download the HSTS installer from Fix Central.
2. For product upgrades, ensure that you prepared your system to upgrade to a newer version.
Although the installer performs your upgrade automatically, you must complete the tasks that are
described in “Before upgrading or downgrading” on page 4
3. Open the installation package and select the setup type.
Follow the on-screen instructions. After the license agreement screen, select the wanted setup type. If
you are upgrading from a previous version, the installer skips this step.
Local accounts: If a local account does not exist, enter new credentials and click Next. If the account
exists (for example, if it was created for the previous installation), enter the account password and
click Next. If the existing user's password you have entered is incorrect, or you want to change the
Aspera service user, see “Managing the Aspera service account” on page 110.
Domain accounts: If the server is configured to accept a domain user login, use a domain account that
has been added to the local administrator's group to run the services. You must create this domain
account in your Domain Controller first. The username for a domain account must be in the form
[email protected], as in the following example:
The following is basic information for configuring your firewall to allow Aspera file transfers. The outbound
TCP port for SSH might differ depending on your organization's unique network settings. Although TCP/
33001 is the default setting, refer to your IT Department for questions that are related to which SSH ports
are open for file transfer. Consult your operating system's documentation for instructions on configuring
your firewall. If your client host is behind a firewall that does not allow outbound connections, you need to
allow the following ports:
• Outbound TCP/33001: Allow outbound connections from the Aspera client on the TCP port (TCP/33001
by default, when connecting to a Windows server, or on another nondefault port for other server
operating systems).
• Outbound UDP/33001: Allow outbound connections from the Aspera client on the FASP UDP port
(33001, by default).
• Local firewall: If you have a local firewall on the client (such as Windows Firewall), verify that it is not
blocking your SSH and FASP transfer ports (such as TCP/UDP 33001).
Testing a transfer
To make sure that the software is working properly, set up a connection with a server and test downloads
and uploads.
Procedure
1. Start the application.
Go to Search and type Desktop Client
Field Value
Host my_demo.example.com
User my_user_name
Authentication my_password
(Password)
3. Test your connection to the remote server.
Click Test Connection to determine whether you can reach the remote server with the settings you
configured. An alert box opens and reports whether the connection is successful.
4. Connect to the server and download test files.
From the main window, select the server entry and click Connect.
On the server file browser (right panel), browse to a folder with a file that you want to use, select the
file, and click to download it to your local machine.
You must see that the session appears in the Transfer pane.
5. Upload to the server.
Select the same file (100MB) on the local file browser (left panel), go to the folder /Upload on the
server, and click to upload it.
Uninstalling
Desktop Client can be uninstalled without removing existing configuration files.
Procedure
1. If you are uninstalling in order to upgrade your Aspera product, review the upgrade preparation steps
in “Before upgrading or downgrading” on page 4.
2. Close or stop the following applications and services:
• FASP transfers.
• SSH connections.
• User interface.
• Hot Folders.
3. Go to Search from the taskbar and type Add or remove programs.
4. Select IBM Aspera Desktop Client, click the kebab menu and select Uninstall.
What to do next
Note: This process does not remove Aspera configuration files. If you reinstall an Aspera product, these
configuration files are applied to the new installation.
Item Description
A Click Transfer to enter the transfer viewing mode. This is the default view when you start
the application, which shows the local and remote file browsers. For more information,
see “Transferring content” on page 31.
B Select a transfer from the bottom pane and click Details to enter the transfer details
viewing mode. This view shows the details of the selected transfer session, as well as the
transfer control options. For more information, see “Managing transfers” on page 33.
C Click Connections to open the Connection Manager window in which you can manage
the remote endpoints. For more information, see “Adding and editing connections” on
page 18.
Item Description
A Path indicator/selector.
B Go to the parent directory.
C Create a new folder, or set up a Hot Folder.
D Choose between the list views and the detail view.
E Create a new folder, or set up a Hot Folder.
F View the advanced upload or download window.
G Decrypt the selected file if it is encrypted with the content protection.
H Choose between the detail or the list views. Refresh the folder.
I Options to manipulation the selected files.
J Show the selected files' properties.
Procedure
1. Start the application with administrator privileges and click Tools > Global Preferences.
2. Click Transfers.
3. To limit total bandwidth usage by FASP uploads and downloads, edit System-Wide Settings.
Procedure
1. Start the application.
Go to Search from the taskbar and type Desktop Client.
Click to duplicate a selected connection (to copy all information into a new profile) and to
delete a connection profile.
4. Configure the connection name, if wanted.
By default, connections are named username@host.
To name or rename a connection, click the connection name and enter the new name in the pop-up
window. Click OK to save your changes.
Connection Description
Option
Host The server's address, such as 192.168.1.10 or companyname.com. For Shares,
Node API, or AoCts connections, enter the URL and port for the Aspera Node
Service, such as https://ats-aws-us-west-2.aspera.io:443.
User The transfer user's username, the Shares user, Node API credentials, or an
access key ID.
Authentication The authentication method. Select Password to authenticate with the transfer
user's password, the Shares user's password, the Node API user password, or
an access key secret (such as for AoCts or ATC Manager).
Select Public Key to authenticate with the transfer user's public SSH key. For
more information, see “Creating SSH keys in the GUI” on page 27.
Storage Type The default option is local storage. Use this option to connect to:
• On-premises servers.
• AoCts.
• Cloud-based servers when the transfer user has the storage credentials that
are configured in their docroot on the server.
When the server is in the cloud but the storage credentials are not configured
in the transfer user's docroot, use the drop-down menu to select the object
storage type and enter credentials.
Supported object storages include the following:
• Akamai NetStorage
• Amazon S3: Requires your Access ID, Secret Access Key, and bucket
path. The local machine must be reasonably time-synchronized in order to
communicate with the Amazon servers. You can also select the Advanced
button to modify the following settings:
Connection Description
Option
Target Directory The default directory when connecting to this computer. When left blank,
(or Bucket Path browsing the remote host brings up either the user's docroot or the last-visited
for most object folder. When a path is set, the connection opens to the exact directory.
storage)
Advanced Settings The TCP port for SSH connections. Default: 33001. If the application cannot
> SSH Port (TCP) connect on 33001, it automatically attempts a connection on port 22. If the
connection on 22 succeeds, the setting is updated to 22.
Advanced Settings The UDP port for FASP transfers. Default: 33001.
> FASP Port (UDP)
Advanced Settings Time out the connection attempt after the specified time.
> Connection
Timeout
Test Connection Click to test the connection to the remote server with the settings you
configured.
7. Configure the connection's transfer settings, if needed.
On the Transfer tab, configure nondefault transfer settings by editing any of the following settings:
• high - Adjust the transfer rate to fully use the available bandwidth up to the
maximum rate. When congestion occurs, the transfer rate is twice as fast as a
fair-policy transfer. The high policy requires maximum (target) and minimum
transfer rates.
• fair - Adjust the transfer rate to fully use the available bandwidth up to
the maximum rate. When congestion occurs, bandwidth is shared fairly by
transferring at an even rate. The fair policy requires maximum (target) and
minimum transfer rates.
• low - Adjust the transfer rate to use the available bandwidth up to the
maximum rate. Similar to fair mode, but less aggressive when the bandwidth
is shared with other network traffic. When congestion occurs, the transfer
rate is reduced to the minimum rate until other traffic decreases.
• fixed - Attempt to transfer at the specified target rate, regardless of network
or storage capacity. This can decrease transfer performance and cause
problems on the target storage. Use the fixed policy only for specific contexts,
such as bandwidth testing, otherwise, avoid the use of this policy. The fixed
policy requires a maximum target rate.
• aggressiveness - The aggressiveness of transfers that are authorized by
this access key in claiming available bandwidth. Value can be 0.00-1.00.
For example, these values correspond to the policy option where a policy of
high approximates to aggressiveness of 0.75, fair to 0.50 and low to 0.25.
Aggressiveness can be used if you need to fine-tune the transfer policy.
Speed Select Override default transfer rate settings to specify the transfer rate.
The target rate is constrained by the global bandwidth settings; for more
information, see “Global bandwidth settings” on page 13.
Retry Select to automatically retry the transfer after a recoverable failure for a set
amount of time, in seconds, minutes, or hours. You might set the initial and
maximum retry intervals by clicking the More Options button.
• Initial interval: The first retry waits for the initial interval. Input in seconds,
minutes, or hours.
• Maximum interval: After the initial interval, the next interval doubles until
the maximum interval is met, and then stops retrying after the retry time is
reached. Input in seconds, minutes, or hours.
For example, if the retry is set for 180 seconds, the initial interval is 10
seconds, and the maximum interval is 60 seconds, then the transfer will retry
at 10, 30, 70, 130, and 180 seconds after the first try, such that the interval
progression is 10, 20, 40, 60, 60, and 50 seconds. The last interval is not the
maximum because the retry period ends with a final retry.
As another example, if the retry is set for 600 seconds, the initial interval is 30
seconds, and the maximum interval is 120 seconds, then the transfer will retry
at 30, 90, 210, 330, 450, 570, and 600 seconds after the first try, such that
the interval progression is 30, 60, 120, 120, 120, 120, and 30 seconds. Again,
the last interval is not the maximum because the retry period ends with a final
retry.
Show Advanced Click Show Advanced Settings to edit the following options:
Settings
• Specify FASP datagram size (MTU): By default, the detected path MTU is
used. Select to specify a value in the range 296 - 10000 bytes.
• Disable calculation of source files size before transferring: Select to turn
off job size calculation on the client side, if allowed by the server.
For more information on filter rule syntax, see “Using filters to include and exclude files” on page
82.
10. Configure security settings, if needed.
On the Security tab, configure nondefault transfer settings by editing any of the following settings:
Encryption Select the encryption cipher. Aspera supports three sizes of AES cipher keys
(128, 192, and 256 bits) and supports two encryption modes, Cipher Feedback
mode (CFB) and Galois Counter Mode (GCM). The GCM mode encrypts data
faster and increases transfer speeds compared to the CFB mode, but the server
must support and permit it.
Cipher rules
The encryption cipher that you are allowed to use depends on the server
configuration and the version of the client and server:
• When you request a cipher key that is shorter than the cipher key that is
configured on the server, the transfer is automatically upgraded to the server
configuration. For example, when the server setting is AES-192 and you
request AES-128, the server enforces AES-192.
• When the server requires GCM, you must use GCM (requires version 3.9.0 or
newer) or the transfer fails.
• When you request GCM and the server is older than 3.8.1 or explicitly
requires CFB, the transfer fails.
• When the server setting is any, you can use any encryption cipher. The only
exception is when the server is 3.8.1 or older and does not support GCM
mode; in this case, you cannot request GCM mode encryption.
• When the server setting is none, you must use none. Transfer requests that
specify an encryption cipher are refused by the server.
Cipher Values
AES-128 Use the GCM or CFB All client and server versions.
AES-192 encryption mode, depending
AES-256 on the server configuration
and version (see cipher
negotiation matrix).
NONE Do not encrypt data in transit. All client and server versions.
Aspera strongly recommends
against using this setting.
Content Select Encrypt uploaded files with a password to encrypt the uploaded files
Protection with the specified password (client-side encryption at rest). The protected
file has the extension .aspera-env appended to the file name. Anyone
downloading the file must have the password to decrypt it.
Select Decrypt password-protected files downloaded to prompt for the
decryption password when downloading encrypted files.
File Attributes • Select Preserve Access Time to set the access time of the destination file to
the same value as that of the source file.
• Select Preserve Modification Timeto set the modification time of the
destination file to the same value as that of the source file.
• Select Preserve Source Access Time to keep the access time of the source
file the same as its value before the transfer.
Note: Access, modification, and source access times cannot be preserved for
node and Shares connections that are using cloud storage.
Source Handling Select Automatically delete source files after transfer to delete the files that
transferred successfully from the source.
Select Automatically move uploaded source files to a directory after
transfer and specify the location on the source machine to which they must
be moved. Only a path to an existing location on the client can be specified.
Select Delete empty source subdirectories to remove empty subdirectories
from the source once the files that they contain transfer successfully. This
option is usually used to clean up the Hot Folder when source files are moved
or deleted after transfer.
Export connections
1. Right-click the remote server panel and click Export.
Import connections
1. Right-click the remote server panel and select Import.
2. Enter the following information:
• Source file: The file with the exported connections.
• Options: Select the appropriate option, depending on how the connections were exported.
• Password: If you select the Passwords are encrypted option, enter the password that was set when
the connections were exported.
3. Click OK to import the connection information.
4. Before deleting the source file, confirm that the import process was successful by testing your
connections.
The SSH Keys dialog is also available from the Connection tab in the Connection Manager. When you
select Public Key for authentication, the Manage Keys button appears; clicking it opens the SSH Keys
dialog.
4. In the New SSH Key Pair window, enter the requested information.
Field Description
Identity Name your key pair, such as with your username.
b) Select the connection for which you want to set up the key.
c) In the Connection tab, select the Public Key Authentication option and select the key from the
drop-down menu.
Imported key pairs can be shared with other users. In the SSH Keys dialog, select a key and click the
button to open the Edit SSH Key Pair dialog. Select Access to allow shared connections to use this key.
Shared keys are moved to the Aspera etc directory.
Transferring content
The GUI provides an easy, intuitive way to transfer content between the local computer and a remote
host.
Procedure
1. Create a connection.
For instructions, see “Adding and editing connections” on page 18.
3. For uploads, if the target directory is correct, then you can select the content to upload from the local
file tree and either drag-and-drop the content into the connection pane, or click the upload arrow. If
you want to browse the remote file system or download content from it, go on to the next step.
4. Connect to the remote server by either double-clicking the connection name, or select it and click
Connect.
5. Select the content to transfer (from the local or remote file system) and do any of the following:
• Click the upload or download arrow.
• Drag and drop the files between the windows.
• Copy and paste the files between the windows.
You can also initiate an upload by using drag-and-drop from Windows Explorer to the right (remote)
browser panel.
Managing transfers
The Desktop Client GUI enables the option to start, stop, and reorder transfers, and adjust the transfer
rates and policies, and configure transfer preferences.
The details view: Adjust transfer rates and policies of active transfers
The Details button provides additional oversight and control (if you have permission) over transfers.
Select a transfer session from the Transfers panel and click Details to view details and adjust settings.
D Transfer Monitor The transfer graph. Use the sliders on the vertical axis to adjust the
transfer rate up or down (if allowed).
Item Description
Global Bandwidth Limits The aggregated bandwidth cap for all FASP transfers on this computer.
Default Target Rate The initial download and upload rates for all transfers.
Maximum Active Transfers The maximum number of concurrent upload transfers and download
transfers.
For information about Email settings, see “Configuring transfer notifications” on page 38.
Procedure
1. In the GUI, right-click a file or folder to open the context menu and select Upload (in the client panel)
or Download (in the server panel).
Tab Description
Transfer The transfer session-related options, such as the transfer speed and retry rules.
Tracking Options for tracking the transfer session, including the confirmation receipt and the
email notifications.
Filters Create filters to skip or include files that match certain patterns.
Security Enable the transfer encryption and the content protection.
File Handling Set up resume rule, preserve transferred file attributes, and remove or move source
files.
Scheduling Schedule the transfer.
3. Schedule the transfer.
Note: When scheduling transfers, ensure that the Desktop Client GUI stays open and running. Unlike
“Hot Folders” on page 46, scheduled transfers do not run when the application is closed.
To enable transfer scheduling, select Schedule this transfer.
Procedure
1. Start Desktop Client.
Go to Search from the taskbar and type Desktop Client, right-click and select Run as administrator..
2. To configure global email notification settings:
a) Click Tools > Global Preferences.
b) Click Mail.
Procedure
1. Open the Mail Templates window by clicking Tools > Mail Templates.
3. For new templates, name the template and select its base template.
Select an existing template from the Based On menu. Click OK.
4. Edit the template text.
The Edit Template window has four fields:
Field Description
Name The template name.
HTML The HTML mail body. Click Insert Image to insert an image into the template.
The image is copied to the template directory. Preview the template by clicking
Preview.
Text The plain text mail body. Preview the template by clicking Preview.
Access Select Share this template with all users on this computer to allow other
system users to access this template.
To generate content only under specific conditions, use a conditional statement. To construct a
conditional statement, use #if, #else, and #end, with the following syntax:
#if
...
#else
...
#end
All conditional statements are categorized in four parts: the conditional (what must occur to trigger the
action), session information (what action is triggered), time, and statistics.
Conditional
#if ($event.isFailed())
...
#end
Statement Description
$event.isStarted() If the transfer session is started.
$event.isCompleted() If the transfer session is completed.
$event.isEnded() If the transfer session is ended.
$event.isFailed() If the transfer session is failed.
Session Information
Statement Description
$event.getSourceHost() The source hostname (or host
address if the hostname is not
discoverable).
$event.getSourceHostAddress() The source host address.
$event.getSourcePaths() The source file path.
$event.getDestinationHost() The destination hostname (or host
address if the hostname is not
discoverable).
$event.getDestinationHostAddress() The destination host address.
$event.getDestinationPath() The destination file path.
#foreach ($file in
$event.getFiles())
## $file is a new variable
visible in this foreach loop.
## $file holds the complete
file path and file name.
#foreach ($file in
$event.getFiles())
#if ($velocityCount > 10)
#break
#end
$file
#end
Time
Statement Description
$formatter.date(var, Formatting the date and time output. Enter three values in the
"lang", "format") parenthesis:
• var is either $event.getStartTime() or
$event.getEndTime()
• lang is an abbreviated language name; for example, en for English.
• format is the display format. Use these symbols:
– yyyy - The year; for example, 2022.
– MM - Month of the year; for example, 03.
– dd - Day of the month; for example, 26.
– HH - Hour of the day; for example, 16.
– mm - Minute.
– ss - Second.
– z - Time zone.
– EEE - The abbreviated weekday name; for example, Fri.
For example,
Statistics
Results
Apply the notifications to a specific connection host or a transfer session. You can also customize the
subject line of the notification emails. For details, see “Using transfer notifications” on page 45.
Procedure
1. Preview existing mail templates and create new ones, if needed.
a) Click Tools > Mail Templates to open the Mail Template window.
b) Select an existing template and click .
c) In the Edit Template window, click Preview to view the template's output example.
For instructions on how to create a new template or edit an existing one, see “Configuring transfer
notifications” on page 38.
2. Enable email notifications for connections.
a) Click Connections on the main page of the application, select the connection that you want to
configure with email notifications, and go to the Tracking tab.
Item Description
When Check the events for which to send notifications.
Subject Customize the subject line, which can use the same template fields as
described in “Configuring transfer notifications” on page 38.
To Enter the recipients, comma-separated.
Template Select a mail template.
Message Enter a message to include in the notifications (optional).
c) Click OK to save your changes.
Hot Folders
Hot Folders is an automatic file delivery tool that can download from a server (pull) or upload to a server
(push). Files and folders added to or modified within a Hot Folder on the source are automatically sent
to the destination folder. Files that are deleted from the source are not deleted on the destination. The
following section describes how to set up and manage Hot Folders.
The New Hot Folder window includes the following configuration tabs:
Tab Description
Hot Folder Set the source, the destination, and the synchronization interval.
Transfer Set the transfer speed and transfer policy.
Tracking Turn on and configure email notifications for transfer start, completion, and error.
Filters Create filters to skip files that match certain patterns.
Security Enable transfer encryption and content protection.
File Handling Set up a resume rule, preserve transferred file attributes, and remove or move
source files.
The following tables describe the options available on each configuration tab.
Hot Folder
Option Description
Name The name of the Hot Folder. Use the default name or enter your own. The default
name is the name of the Windows folder. Click Generate to restore the default
name.
Source Specify the source for the Hot Folder. If the source is This Computer, then the Hot
Folder is in push mode.
Transfer
Option Description
Policy Set the FASP transfer policy.
• high - Adjust the transfer rate to fully use the available bandwidth up to the
maximum rate. When congestion occurs, the transfer rate is twice as fast as a
fair-policy transfer. The high policy requires maximum (target) and minimum
transfer rates.
• fair - Adjust the transfer rate to fully use the available bandwidth up to
the maximum rate. When congestion occurs, bandwidth is shared fairly by
transferring at an even rate. The fair policy requires maximum (target) and
minimum transfer rates.
• low - Adjust the transfer rate to use the available bandwidth up to the maximum
rate. Similar to fair mode, but less aggressive when the bandwidth is shared with
other network traffic. When congestion occurs, the transfer rate is reduced to the
minimum rate until other traffic decreases.
• fixed - Attempt to transfer at the specified target rate, regardless of network
or storage capacity. This can decrease transfer performance and cause problems
on the target storage. Use the fixed policy only for specific contexts, such as
bandwidth testing, otherwise, avoid the use of this policy. The fixed policy
requires a maximum target rate.
• aggressiveness - The aggressiveness of transfers that are authorized by
this access key in claiming available bandwidth. Value can be 0.00-1.00. For
example, these values correspond to the policy option where a policy of
high approximates to aggressiveness of 0.75, fair to 0.50 and low to 0.25.
Aggressiveness can be used if you need to fine-tune the transfer policy.
Note: If --policy is not set, ascp uses the server-side policy setting (fair by
default).
Speed Use this option to specify the target transfer rate and minimum transfer rate. (Files
will still be transferred if the available transfer rate is below the minimum).
Option Description
Send Email Select to enable email notifications and to display configuration options, however,
Notifications notifications are not sent until they are enabled (click Preferences on the
main screen of the application). For more information, see “Configuring transfer
notifications” on page 38.
Important: For Hot Folder email notifications to work, the GUI must remain open.
When 1 Select one or more events that trigger the notification. Transfer Start, Complete,
and Error.
Subject1 Enter the subject of the notification.
To 1 Enter the email addresses of the recipients.
Template 1 Select a notification template from the drop-down list. Add, delete, edit, and
preview templates by clicking Manage Templates. For more information on
configuring templates, see “Configuring transfer notifications” on page 38.
Message 1 Include a custom message with the notification.
Filters
Click Add and enter the filter pattern to use to exclude files or directories from the transfer. The exclude
pattern is compared with the whole path, not just the file name or directory name. As shown, the asterisk
(*) can be used to represent zero to many characters in a string, for example *.tmp matches .tmpand
abcde.tmp:
Note: The temporary files that are used by to resume incomplete files are automatically ignored based on
the resume suffix that was set by the sender.
Security
Option Description
Encryption Select the encryption cipher. Aspera supports three sizes of AES cipher keys (128,
192, and 256 bits) and supports two encryption modes, Cipher Feedback mode
(CFB) and Galois Counter Mode (GCM). The GCM mode encrypts data faster and
increases transfer speeds compared to the CFB mode, but the server must support
and permit it.
Cipher rules
The encryption cipher that you are allowed to use depends on the server
configuration and the version of the client and server:
• When you request a cipher key that is shorter than the cipher key that is
configured on the server, the transfer is automatically upgraded to the server
configuration. For example, when the server setting is AES-192 and you request
AES-128, the server enforces AES-192.
• When the server requires GCM, you must use GCM (requires version 3.9.0 or
newer) or the transfer fails.
• When you request GCM and the server is older than 3.8.1 or explicitly requires
CFB, the transfer fails.
• When the server setting is any, you can use any encryption cipher. The only
exception is when the server is 3.8.1 or older and does not support GCM mode; in
this case, you cannot request GCM mode encryption.
• When the server setting is none, you must use none. Transfer requests that
specify an encryption cipher are refused by the server.
Cipher Values
AES-128-CFB Use the CFB encryption mode. Clients version 3.9.0 and
newer, all server versions.
AES-192-CFB
AES-256-CFB
AES-128-GCM Use the GCM encryption mode. Clients and servers version
3.9.0 and newer.
AES-192-GCM
AES-256-GCM
NONE Do not encrypt data in transit. All client and server versions.
Aspera strongly recommends
against using this setting.
File handling
Option Description
Resume Select Resume incomplete files to enable the resume feature. Select the file
comparison method from the When checking files for differences drop-down
menu:
• Compare file attributes - Compares the sizes of the existing and original file.
If they are the same, then the transfer resumes, otherwise the original file is
transferred again.
• Compare sparse file checksums - Performs a sparse checksum on the existing
file and resumes the transfer if the file matches the original, otherwise the
original file is transferred again. (Default)
• Compare full file checksums - Performs a full checksum on the existing file and
resumes the transfer if the file matches the original, otherwise the original file is
transferred again.
Under When a complete file already exists at the destination, select an
overwrite rule when the same file exists at the destination. By default, files on
the destination are overwritten if different from the source.
File Attributes • Select Preserve Access Time to set the access time of the destination file to the
same value as that of the source file.
• Select Preserve Modification Timeto set the modification time of the destination
file to the same value as that of the source file.
• Select Preserve Source Access Time to keep the access time of the source file
the same as its value before the transfer.
Note: Access, modification, and source access times cannot be preserved for node
and Shares connections that are using cloud storage.
Source Handling Select Automatically delete source files after transfer to delete files that
transferred successfully from the source.
Push mode: Select Automatically move uploaded source files to a directory after
transfer and specify the location on the source machine to which they must be
moved. Only a path to an existing location on the client can be specified. Only files
are moved, not the parent directory structure. To preserve the directory structure,
enable the --src-base option after the Hot folder is created:
1. Quit Aspera.
2. Stop the Aspera Sync service by going to Search > Services, selecting Aspera
Sync, and click Stop.
<EXTRAOPTS>--src-base=ldir_path</EXTRAOPTS>
Where ldir_path is the source path for the Hot Folder and matches the setting
for <LDIR>.
4. Save your changes and restart the Aspera Sync service.
Pull mode: Select Transfer source directory contents only to transfer only the
contents of the directory and not the directory itself. If this option is enabled,
for a source folder /folder1 containing file1 and file2 being pulled to the
destination folder /destination, only file1 and file2 are transferred, not /
folder1. If this option is not selected, the transfer produces /destination/
folder1 (containing the two files) on the destination machine.
Select Delete empty source subdirectories to remove empty subdirectories from
the source once the files that they contain transfer successfully. This option is
usually used to clean up the Hot Folder when source files are moved or deleted
after transfer.
Note: Empty folders within a Hot Folder are not pushed to the server. However, empty folders on the
server are pulled to the local destination.
Control transfers
Click the , , and buttons to start a transfer, stop a transfer, and delete the Hot Folder, respectively.
State Description
Pending The file is new or modified and Hot Folders is waiting for the file to stabilize.
Ready A pending file is now stable.
Queued The file is scheduled for transfer.
Transferring The file is transferring.
Complete The file successfully transferred.
Failed The file transfer was unsuccessful. Possible reasons include permissions
conflicts, an invalid destination path, or the file is still in use.
Note: This command must be run in a Command Prompt that is opened with "Run as Administrator", or
the script that uses it must be run with Administrator permissions.
The hot_folder_name is the text in the Name column of the Hot Folders tab.
Ascp syntax
ascp options [[username@]src_host:]source1[ source2 ...] [[username@]dest_host:]dest_path
A file transfer is deemed to be complete when the time since last update to the source file reaches the
wait_time value (in seconds). However, the time is only sampled when all currently available source
data was transferred. In other words, if more data arrives after the wait time has elapsed, but the
transfer is still in progress, the additional data is still transferred.
grow
Enables the growing file feature and is used to set the wait time in seconds. The wait time is the
amount of time that is allowed to pass before a file that is not changing is treated as complete. The
grow element must be set to a nonnegative integer to define wait time. If it is set to a nonnumeric
string, the default wait time of 10 seconds is used.
wait_start
Can be used to specify how time is calculated to determine whether a file is complete. If mtime is
used, then the file modification time is used to calculate the wait time. If null_read is used, then
the time of a file read that returns zero bytes is used. The default is mtime.
confirm_stop
Can be used to indicate when all the data was added to the source file and to prevent any
additional wait time followed by a read of EOF.
Note that confirm_stop is ignored if wait_start is set to null_read.
To use confirm_stop, set it to true (the default value is false). Then, use an external program
to adjust the source file mtime upon completion of writing data to the source file, by using the
following criteria:
Any value for mtime that meets this criteria is acceptable to flag this condition except mtime =
0, which is used to flag a file error. You can, for example, use touch 1. If mtime is not adjusted
before the timeout is reached, an error is generated.
An alternative method for defining the wait_time value is to use modifiers for powers of 1,024.
However, the value must be less than 8 * 2^60. The modifier must consist of an integer, and a unit
specifier. The unit specifiers are:
Environment variables
The following environment variables can be used with the ascp command. The total size for environment
variables depends on your operating system and transfer session. Each environment variable value must
not exceed 4096 characters.
ASPERA_DST_PASS=password
The password to authenticate a URI destination.
ASPERA_LOCAL_TOKEN=token
A token that authenticates the user to the client (in place of SSH authentication).
Note: If the local token is a basic or bearer token, the access key settings for cipher and
preserve_time are not respected and the server settings are used. To set the cipher and timestamp
preservation options as a client, set them in the command line.
ASPERA_PROXY_PASS=proxy_server_password
The password for an Aspera Proxy server.
ASPERA_SCP_COOKIE=cookie
A cookie string that you want associated with transfers.
ASPERA_SCP_DOCROOT=docroot
The transfer user docroot. Equivalent to use --apply-local-docroot when a docroot is set in
aspera.conf.
ASPERA_SCP_FILEPASS=password
The passphrase to be used to encrypt or decrypt files. For use with --file-crypt.
ASPERA_SCP_KEY="-----BEGIN RSA PRIVATE KEY..."
The transfer user private key. Use instead of the -i option.
Ascp options
Note: To see the ascp usage options, run ascp -h.
-6
Enable IPv6 address support. When you specify an IPv6 numeric host for src_host or dest_host,
write it in brackets. For example, username@[2001:0:4137:9e50:201b:63d3:ba92:da]:/path
or --host=[fe80::21b:21ff:fe1c:5072%eth1].
-@ range_start:range_end
Transfer only part of a file: range_start is the first byte to send, and range_end is the last. If either
position is unspecified, the file's first and last bytes (respectively) are assumed. This option only works
for downloads of a single file and does not support transfer resume.
-A, --version
Display version and license information.
--apply-local-docroot
Apply the local docroot that is set in aspera.conf for the transfer user. Use to avoid entering object
storage access credentials in the command line. This option is equivalent to setting the environment
variable ASPERA_SCP_DOCROOT.
-C nodeid:nodecount
Enable multi-session transfers (also known as parallel transfers) on a multi-node and multi-core
system. A node ID (nodeid) and count (nodecount) are required for each session. nodeid and
nodecount can be 1-128, but nodeid must be less than or equal to nodecount, such as 1:2, 2:2.
Each session must use a different UDP port that is specified with the -O option. Large files can be
split across sessions, see --multi-session-threshold. For more information, see IBM Aspera
High-Speed Transfer Server.
-c cipher
Encrypt in-transit file data by using the specified cipher. Aspera supports three sizes of AES cipher
keys (128, 192, and 256 bits) and supports two encryption modes, Cipher Feedback mode (CFB)
and Galois Counter Mode (GCM). The GCM mode encrypts data faster and increases transfer speeds
compared to the CFB mode, but the server must support and permit it.
Cipher rules
The encryption cipher that you are allowed to use depends on the server configuration and the version
of the client and server:
• When you request a cipher key that is shorter than the cipher key that is configured on the server,
the transfer is automatically upgraded to the server configuration. For example, when the server
setting is AES-192 and you request AES-128, the server enforces AES-192.
• When the server requires GCM, you must use GCM (requires version 3.9.0 or newer) or the transfer
fails.
• When you request GCM and the server is older than 3.8.1 or explicitly requires CFB, the transfer
fails.
• When the server setting is any, you can use any encryption cipher. The only exception is when the
server is 3.8.1 or older and does not support GCM mode; in this case, you cannot request GCM mode
encryption.
• When the server setting is none, you must use none. Transfer requests that specify an encryption
cipher are refused by the server.
none Do not encrypt data in transit. For All client and server versions.
security and to keep the file integrity,
avoid the use of this setting.
--check-sshfp=fingerprint
Compare fingerprint to the server SSH host key fingerprint that is set with
<ssh_host_key_fingerprint> in aspera.conf. The Aspera fingerprint convention is to use a
hex string without the colons; for example, f74e5de9ed0d62feaf0616ed1e851133c42a0082. For
more information on SSH host key fingerprints, see IBM Aspera High-Speed Transfer Server .
Note: If HTTP fallback is enabled and the transfer falls back to HTTP, this option enforces server
SSL certificate validation (HTTPS). Validation fails if the server has a self-signed certificate; a properly
signed certificate is required.
-D | -DD | -DDD
Log at the specified debug level. With each D, an additional level of debugging information is written to
the log.
/tmp/code/compute.php
doc_dir
images/iris.png
images/rose.png
Then, the destination in this case, the transfer user's docroot, contains:
compute.php
doc_dir (and its contents)
iris.png
rose.png
Restrictions:
• The command line cannot use the user@host:source syntax. Instead, specify this information
with the options --mode, --host, and --user.
• Paths that are specified in the file list cannot use the user@host:source syntax.
• Because multiple sources are being transferred, the destination must be a directory.
• Only one --file-list or --file-pair-list option is allowed per ascp session. If multiple lists
are specified, only the last one is used.
• Only files and directories that are specified in the file list are transferred. Any sources that are
specified on the command line are ignored.
• If the source paths are URIs, the size of the file list cannot exceed 24 KB.
To create a file list that also specifies destination paths, use --file-pair-list.
--file-manifest={none|text}
Generate a list of all transferred files when set to text. Requires --file-manifest-path to specify
the location of the list. (Default: none)
--file-manifest-path=directory
Save the manifest file to the specified location when you use --file-manifest=text. Manifests
file must be stored locally. For cloud or other nonlocal storage, specify a local manifest file path.
--file-manifest-inprogress-suffix=suffix
Apply the specified suffix to the file manifest's temporary file. For use with --file-manifest=text.
(Default suffix: .aspera-inprogress)
--file-pair-list=file
Transfer files and directories that are listed in file to their corresponding destinations. Each source is
specified on a separate line, with its destination on the line that follows it.
Specify destinations relative to the transfer user's docroot. Even if a destination is specified as an
absolute path, the path at the destination is still relative to the docroot. Destination paths that are
specified in the list are created automatically if they do not exist.
For example, if the file pairlist.txt contains the following list of sources and destinations:
Dir1
Dir2
my_images/iris.png
project_images/iris.png
/tmp/code/compute.php
/tmp/code/compute.php
/tmp/tests/testfile
testfile2
Then, the destination in this case, the transfer user's docroot, now contains the following:
Restrictions:
• The command line cannot use the user@host:source syntax. Instead, specify this information
with the options --mode, --host, and --user.
• The user@host:source syntax cannot be used with paths that are specified in the file list.
• Because multiple sources are being transferred, the destination that is specified on the command
line must be a directory.
• Only one --file-pair-list or --file-list option is allowed per ascp session. If multiple lists
are specified, only the last one is used.
• Only files from the file pair list are transferred; any additional source files that are specified on the
command line are ignored.
• If the source paths are URIs, the file list cannot exceed 24 KB.
For additional examples, see “Ascp general examples” on page 71.
-G write_size
If the transfer destination is a server, use the specified write-block size, which is the maximum
number of bytes that the receiver can write to disk at a time. Default: 256 KB, Range: up to 500 MB.
This option accepts suffixes M or m for mega and K or k for kilo, such that a write_size of 1M is 1 MB.
This is a performance-tuning option that overrides the write_block_size set in the client's
aspera.conf. However, the -G setting is overridden by the write_block_size set in the
server's aspera.conf. The receiving server never uses the write_block_size set in the client's
aspera.conf.
-g read_size
If the transfer source is a server, use the specified read-block size, which is the maximum number of
bytes that the sender reads from the source disk at a time. Default: 256 KB, Range: up to 500 MB. This
option accepts suffixes M or m for mega and K or k for kilo, such that a read_size of 1M is 1 MB.
This is a performance-tuning option that overrides the read_block_size set in the client's
aspera.conf. However, the -g setting is overridden by the read_block_size set in the server's
aspera.conf. When set to the default value, the read size is the default internal buffer size of the
server, which might vary by operating system. The sending server never uses the read_block_size
set in the client's aspera.conf.
-h, --help
Display the help text.
--host=hostname
Transfer to the specified hostname or address. Requires --mode. This option can be used instead of
specifying the host with the hostname:file syntax.
-i private_key_file | cert_file
The -i option can be used to specify either:
• An SSH private key file, for authenticating a transfer by using public key authentication with the
specified SSH private key file. The argument can be just the file name if the private key is located in
user_home_dir/.ssh/ because ascp automatically searches for key files there. Multiple private
key files can be specified by repeating the -i option. The keys are tried in order and the process
ends when a key passes authentication or when all keys were tried without success, at which point
authentication fails.
To support this command, the ascp.conf file must include the following configuration:
<default>
<file_system>
<access>
<paths><path><absolute>
file:////tmp?grow=120;wait_start=null_read
</absolute></path></paths>
</access>
</file_system>
</default>
• Fair-policy transfer
Fair-policy transfer with maximum rate 100 Mbps and minimum at 1 Mbps, without encryption, transfer
all files in \local-dir\files to 10.0.0.2:
• Fixed-policy transfer
Fixed-policy transfer with target rate 100 Mbps, without encryption, transfer all files in \local-
dir\files to 10.0.0.2:
/tmp/folder1
tmp1
/tmp/folder2
tmp2
This command and file pair list create the following directories within the transfer user's docroot on the
destination:
/tmp1/folder1
/tmp2/folder2
The file is saved on the server as file.aspera-env, with the extension that indicates that the file is
encrypted. See the next example for how to download and decrypt an encrypted file from the server.
• Download with content protection and decryption
Download an encrypted file, file.aspera-env, from the server 10.0.0.2 and decrypt while the
transfer:
• Transfer a file but do not save results to disk (no destination storage required)
Transfer the file /tmp/sample as user root to 10.0.0.2, but do not save results to disk:
• Transfer-random data and do not save result to disk (no source or destination storage required)
Transfer 10 MB of random data from 10.0.0.2 as user root and do not save result to disk:
• Upload only the contents of a directory (not the directory itself) by using the --src-base option
Upload only the contents of /data/ to the /storage/ directory at the destination. Strip the /src/
data/ portion of the source path and preserve the remainder of the file structure at the destination:
• Upload a directory and its contents to a new directory by using the -d option
Upload the /data/ directory to the server and if it doesn't already exist, create the new folder /
storage2/ to contain it, resulting in /storage2/data/ at the destination.
• Upload the contents of a directory, but not the directory itself, by using the --src-base option
Upload all folders and files in the /clips/out/ folder, but not the out/ folder itself, to the /in/ folder
at the destination.
Result, the source folders and their content appear in the in directory at the destination:
Without --src-base, the example command transfers not only the contents of the out/ folder, but the
folder itself.
Note: Sources that are located outside the source base are not transferred. No errors or warnings
are issued, but the skipped files are logged. For example, if /clips/file4 were included in the
example sources, it would not be transferred because it is located outside the specified source base /
clips/out/.
• Upload only the contents of a file and a directory to a new directory by using --src-base
Upload a file, /monday/file1, and a directory, /tuesday/*, to the /storage/ directory on the
server, while stripping the arc-base path and preserving the rest of the file structure. The content is
saved as /storage/monday/file1 and /storage/tuesday/* on the server.
• Download only the contents of a file and a directory to a new directory by using --src-base
• Move the source file on the client after it is uploaded to the server by using --move-after-
transfer
Upload file0012 to Pat's docroot on the server at 10.0.0.1, and move (not copy) the file from C:/
Users/Pat/srcdir/ to C:/Users/Pat/Archive on the client.
• Move the source file on the server after it is downloaded to the client by using --move-after-
transfer
Download srcdir from the server to C:/Users/Pat on the client, and move (not copy) srcdir to the
archive directory /Archive on the server.
• Move the source file on the client after it is uploaded to the server and preserve the file structure
one level above it by using --src-base and --move-after-transfer
Upload file0012 to Pat's docroot on the server at 10.0.0.1, and save it as /srcdir/
file0012 (stripped of C:/Users/Pat). Also, move file0012 from C:/Users/Pat/srcdir/ to
C:/Users/Pat/Archive on the client, where it is saved as C:/Users/Pat/Archive/srcdir/
file0012.
• Delete a local directory once it is uploaded to the remote server by using --remove-after-
transfer and --remove-empty-directories
Upload /content/ to the server, then delete its contents (excluding partial files) and any empty
directories on the client.
• Delete a local directory once its contents were transferred to the remote server by using --src-
base, --remove-after-transfer, and --remove-empty-directories
Upload /content/ to the server, while stripping the src-base path and preserving the rest of the
file structure. The content is saved as /storage/* on the server. On the client, the contents of /
content/, including empty directories but excluding partial files, are deleted.
With ASPERA_DEST_PASS and ASPERA_SCP_PASS set, run ascp with the syntax that is listed in the table
for transfers with no docroot configured, except that you do not need to include the storage password or
access key, and are not prompted for the Aspera password upon running ascp.
Upload example:
Download syntax:
Download example:
Upload example:
Download syntax:
Download example:
Google Cloud Note: These examples require that the VMI running the Aspera server is a Google
Storage Compute instance.
Upload example:
Download syntax:
google-gcs://
Download example:
Upload example:
Download syntax:
secret_key
Download example:
{
"aspera": {
"cloud-metadata": [
{"key1":"value1"},
{"key2":"value2"},
...
] } }
• Download the file remote_file from the server at 10.0.0.2 to stdout on the client. Transfer at 100
Mbps.
• Upload the file local_file to the server at 10.0.0.2 to the named pipe /tmp/outpipe. Transfer at
100 Mbps.
Multi-File transfers
Ascp can transfer one or more files in an encoded, streamed interface, similar to single file transfers. The
primary difference is that the stream includes headers that demarcate data from individual files.
To upload files that are piped into stdin, set the source as stdio-tar://. The file modification time is
set to the time at which the upload starts.
[0 - n blank lines]
File: /path/to/file_1
Size: file_size
Offset: bytes
file_1 data
[0 - n blank lines]
File: /path/to/file_2
Size: file_size
file 2 data
...
To download one or more files to stdout, set the destination as stdio-tar://. Normal status output
to stdout is suppressed during downloads because the transfer output is streamed to stdout. The data
sent to stdout has the same encoding as described for uploads.
To download to a named pipe, set the destination to stdio-tar:////path, where path is the path of
the named pipe.
When an offset is specified, the bytes that are sent replace the existing bytes in the destination file (if it
exists). The bytes added to the destination file can extend beyond the current file size. If no offset is set,
the bytes overwrite the file if overwrite conditions are met.
Restrictions:
• When downloading to stdio-tar://, the source list must consist of individual files only. Directories
are not allowed.
• Only --overwrite=always or --overwrite=never are supported by stdio-tar://. The behavior
of --overwrite=diff and --overwrite=diff+older is undefined.
• Offsets are only supported if the destination files are located in the native file system. Offsets are not
supported for cloud destinations.
Multi-file transfer examples:
• Upload two files, myfile1 (1025 bytes) and myfile2 (20 bytes), to /remote-dir on the server at
10.0.0.2. Transfer at 100 Mbps.
File: myfile1
Size: 1025
• Uploading multiple files from stdin by using a persistent session is the same as a nonpersistent
session.
• Update bytes 10-19 in file /remote-dir/myfile1 on the server at 10.0.0.2 at 100 Mbps.
File: myfile1
Size: 10
Offset: 10
• Upload two files, myfile1 and myfile2, to the named pipe /tmp/mypipe (streaming output) on the
server at 10.0.0.2. Transfer at 100 Mbps.
This sends an encoded stream of myfile1 and myfile2 (with the format of sourcefile in the upload
example) to the pipe /tmp/mypipe. If /tmp/mypipe does not exist, it is created.
• Download the files from the previous example from 10.0.0.2 to stdout. Transfer at 100 Mbps.
FASPMGR 2
Type: START
Source: /tmp/myfile1
Destination: mynewfile1
FASPMGR 2
Type: START
Source: /tmp/myfile2
Destination: mynewfile2
FASPMGR 2
Type: DONE
The destination must be a file name; file paths are not supported.
Standard out receives the transferred data with the following syntax:
File: mynewfile1
Size: file_size
mynewfile1_data
File: mynewfile2
Size: file_size
mynewfile2_data
• Upload two files, myfile1 and myfile2, to named pipe /tmp/mypipe on the server at 10.0.0.2.
Transfer at 100 Mbps.
File: myfile1
Size: 1025
-N 'rule1' -E 'rule2' Transfer all files and directories with names that match rule1, and all other
files and directories except those with names that match rule2.
-E 'rule1' -N 'rule2' Transfer all files and directories except those with names that match rule1.
All files and directories that are not already excluded by rule1 are included
because no additional exclude rule follows -N 'rule2'.
To transfer only the files and directories with names that do not match rule1
but do match rule2 use:
Rule patterns
Rule patterns (globs) use standard globbing syntax that includes wildcards and special characters, and
several Aspera extensions to the standard.
• Character case: Case always matters, even if the file system does not enforce such a distinction. For
example, on Windows FAT or NTFS file systems and macOS HPFS+ a file system search for DEBUG
returns files Debug and debug. In contrast, ascp filter rules use exact comparison, such that debug
does not match Debug. To match both, use [Dd]ebug.
• Partial matches: With globs, unlike standard regular expressions, the entire file name or directory
name must match the pattern. For example, the pattern abc*f matches abcdef but not abcdefg.
Standard globbing: Wildcards and special characters
Where the user is my_user_name, and the target is the Upload directory.
At the prompt, enter my_user_name user password.
3. Create a destination directory on your computer, for example, C:\tmp\dest.
4. Download your files from the demo server to C:\tmp\dest to test your filtering rules. For example,
5. Compare the destination directory with the source to determine whether the filter behaved as
expected.
AAA/abc/def
AAA/abc/.def
AAA/abc/.wxy/def
AAA/abc/wxy/def
AAA/abc/wxy/.def
AAA/abc/wxy/tuv/def
AAA/abc/xyz/def/wxy
AAA/wxyfile
AAA/wxy/xyx/
AAA/wxy/xyxfile
1. Transfer everything except files and directories that starts with ".":
-N '*' -E 'AAA/**'
AAA/abc/def
AAA/abc/wxy/def
AAA/abc/wxy/tuv/def
AAA/abc/xyz/def/wxy
AAA/wxyfile
AAA/wxy/xyx/
AAA/wxy/xyxfile
< AAA/abc/.def
< AAA/abc/.wxy/def
< AAA/abc/wxy/.def
-E 'wxy*'
Results:
AAA/abc/def
AAA/abc/.def
AAA/abc/.wxy/def
AAA/abc/xyz/def/
< AAA/abc/wxy/def
< AAA/abc/wxy/.def
< AAA/abc/wxy/tuv/def
< AAA/abc/xyz/def/wxy
< AAA/wxyfile
< AAA/wxy/xyx/
< AAA/wxy/xyxfile
3. Include directories and files that start with wxy if they fall directly under AAA:
-N 'wxy*' -E 'AAA/**'
Results:
AAA/wxy/
AAA/wxyfile
< AAA/abc/def
< AAA/abc/.def
< AAA/abc/.wxy/def
< AAA/abc/wxy/def
< AAA/abc/wxy/.def
< AAA/abc/wxy/tuv/def
< AAA/abc/xyz/def/wxy
< AAA/wxy/xyx/
< AAA/wxy/xyxfile
4. Include directories and files at any level that start with wxy, but do not include dot-files, dot-
directories, or any files under the wxy directories (unless they start with wxy). However, subdirectories
under wxy are included:
-N '*/wxy*' -E 'AAA/**'
Results:
AAA/abc/wxy/tuv/
AAA/abc/xyz/def/wxy
AAA/wxyfile
AAA/wxy/xyx/
< AAA/abc/def
< AAA/abc/.def
< AAA/abc/.wxy/def
< AAA/abc/wxy/def *
< AAA/abc/wxy/.def
< AAA/abc/wxy/tuv/def
< AAA/wxy/xyxfile
Results:
AAA/abc/wxy/def
AAA/abc/wxy/.def
AAA/abc/wxy/tuv/def
AAA/abc/xyz/def/wxy
AAA/wxyfile
AAA/wxy/xyx/
AAA/wxy/xyxfile
< AAA/abc/def
< AAA/abc/.def
< AAA/abc/.wxy/def
6. Exclude directories and files that start with wxy, but only those found at a specific location in the tree:
-E '/AAA/abc/wxy*'
Results:
AAA/abc/def
AAA/abc/.def
AAA/abc/.wxy/def
AAA/abc/xyz/def/wxy
AAA/wxyfile
AAA/wxy/xyx/
AAA/wxy/xyxfile
< AAA/abc/wxy/def
< AAA/abc/wxy/.def
< AAA/abc/wxy/tuv/def
7. Include the wxy directory at a specific location, and include all its subdirectories and files, including
those starting with ".":
-N 'AAA/abc/wxy/**' -E 'AAA/**'
Results:
AAA/abc/wxy/def
AAA/abc/wxy/.def
AAA/abc/wxy/tuv/def
< AAA/abc/def
< AAA/abc/.def
< AAA/abc/.wxy/def
< AAA/abc/xyz/def/wxy
< AAA/wxyfile
< AAA/wxy/xyx/
< AAA/wxy/xyxfile
Surround patterns that contain wildcards with single quotation marks (' ') to prevent filter.
Client configuration
Transfers initiated in the GUI request that symbolic links be followed, which cannot be adjusted. To
specify symbolic link handling on the command line (with ascp, ascp4, or async), use --symbolic-
links=option.
Procedure
1. Create a .ssh directory in your home directory if it does not exist:
> md user_home_dir\.ssh
> cd user_home_dir\.ssh
> openssl pkcs8 -topk8 -v2 aes128 -in id_rsa -out new-id_rsa
3. As the Admin user, make sure that the SSH key is owned by the transfer user and that proper
restrictive permissions are set. SSH keys must be readable only by the key owner.
4. Retrieve the public key file.
The key pair is generated to your home directory's .ssh folder.
For example, assuming you generated the key with the default name id_rsa:
user_home_dir\.ssh\id_rsa.pub
Provide the public key file (for example, id_rsa.pub) to your server administrator so that it can be set
up for your server connection.
5. Start a transfer by using public key authentication with the ascp command.
To transfer files by using public key authentication on the command line, use the option -i
private_key_file.
For example,
In this example, you are connecting to the server (10.0.0.2, directory /space) with the user account
jane and the private key user_home_dir\.ssh\id_rsa.
Reporting checksums
File checksums are useful for troubleshooting file corruption, allowing to determine at what point in the
transfer file corruption occurred. Aspera servers can report source file checksums that are calculated in
real time during transfer and then sent from the source to the destination.
To support checksum reporting, the transfer must meet both of the following requirements:
• Both the server and client computers must be running HSTS or HSTE.
• The transfer must be encrypted. Encryption is enabled by default.
The user on the destination can calculate a checksum for the received file and compare it (manually or
programmatically) to the checksum reported by the sender. The checksum reported by the source can be
retrieved in the destination logs, a manifest file, in IBM Aspera Console, or as an environment variable.
Instructions for comparing checksums follow the instructions for enabling checksum reporting.
Checksum reporting is disabled by default. Enable and configure checksum reporting on the server by
using the following methods:
• Edit aspera.conf with asconfigurator.
• Set options in the client GUI.
• Set ascp command line options (per-transfer configuration).
Command line options override the settings in aspera.conf and the GUI.
Important: When checksum reporting is enabled, transfers of very large files (>TB) take a long time to
resume because the entire file must be reread.
Description
asconfigurator Option
GUI Setting
ascp Option
The location where manifest files are written. The location can be
file_manifest_path
an absolute path or a path relative to the transfer user's home
File Manifest Path
directory. If no path is specified (default), the file is generated
--file_manifest_path=path
under the destination path at the receiver, and under the first
source path at the sender.
Note: File manifests can be stored only locally. Thus, if you are
using S3 or other nonlocal storage, you must specify a local
manifest path.
To enable and configure the file manifest where checksum report data is stored, run the following
commands:
These commands create lines in aspera.conf as shown in the following example, where checksum type
is md5, file manifest is enabled, and the path is C:\Users\Public\reports.
<file_system>
...
<file_checksum>md5</file_checksum>
<file_manifest>text</file_manifest>
<file_manifest_path>C:\Users\Public\reports</file_manifest_path>
To enable the file manifest, select the override checkbox for File Manifest and set the effective value to
text. To set the path, select the override checkbox for File Manifest Path and set the effective value to
the folder in which you want the manifest files saved.
In the examples, the manifest is generated when files are transferred and saved as a text file called
aspera-transfer-transfer_id-manifest.txt in the directory C:\Users\Public\reports.
Comparing checksums
If you open a file that you downloaded with Aspera and find that it is corrupted, you can determine when
the corruption occurred by comparing the checksum that is reported by Aspera to the checksums of the
files on the destination and on the source.
1. Retrieve the checksum that was calculated by Aspera as the file was transferred.
• If you specified a file manifest and file manifest path as part of an ascp transfer or Lua transfer event
script, the checksums are in that file in the specified location.
• If you specified a file manifest and file manifest path in the GUI or aspera.conf, the checksums are
in a file that is named aspera-transfer-transfer_id-manifest.txt in the specified location.
2. Calculate the checksum of the corrupted file. This example uses the MD5 checksum method; replace
MD5 with the appropriate checksum method if you use a different one.
3. Compare the checksum reported by Aspera with the checksum that you calculated for the corrupted
file.
• If they do not match, then corruption occurred as the file was written to the destination. Download
the file again and confirm that it is not corrupted. If it is corrupted, compare the checksums again.
If they do not match, investigate the write process or attempt another download. If they match,
continue to the next step.
• If they match, then corruption might have occurred as the file was read from the source. Continue to
the next step.
4. Calculate the checksums for the file on the source. These examples use the MD5 checksum method;
replace MD5 with the appropriate checksum method if you use a different one.
Windows:
Mac OS X:
$ md5 filepath
# md5sum filepath
AIX:
Solaris:
5. Compare the checksum of the file on the source with the one reported by Aspera.
• If they do not match, then corruption occurred when the file was read from the source. Download
the file again and confirm that it is not corrupted on the destination. If it is corrupted, continue to the
next step.
• If they match, confirm that the source file is not corrupted. If the source file is corrupted, replace it
with an uncorrupted one, if possible, and then download the file again.
For more command line examples, see “Ascp general examples” on page 71.
Note: When a transfer to HSTS falls back to HTTP or HTTPS, client-side EAR is no longer supported. If
HTTP fallback occurs while uploading, then the files are NOT encrypted. If HTTP fallback occurs while
downloading, then the files remain encrypted.
• To download client-side-encrypted files without decrypting them immediately, run the transfer without
decryption enabled (clear Decrypt password-protected files downloaded in the GUI or do not specify
--file-crypt=decrypt on the ascp command line).
• To decrypt encrypted files once they are on a computer with no network access, run the following
command:
Ascp Ascp4
-@ range_low:range_high
-6
-A, --version -A, --version
--allow-password-prompt
--apply-local-docroot --apply-local-docroot
-C nodeid:nodecount
-c cipher -c cipher
--check-sshfp=fingerprint --check-sshfp=fingerprint
--chunk-size=bytes
--compare=method
--compression=method
--compression-hint=num
--crypt-threads=NUM
-D | -DD | -DDD -D | -DD | -DDD
-d
--delete-before
--delete-before-transfer** --delete-before-transfer**
--dest64 --dest64
-E pattern -E pattern
-e prepost_filepath
--exclude-newer-than=mtime --exclude-newer-than=mtime
--exclude-older-than=mtime --exclude-older-than=mtime
-f config_file -f config_file
--fail-bad-filepass
--faspmgr-io
--file-checksum=hash
--file-crypt=CRYPT
--file-list=filename** --file-list=filename**
--file-manifest-inprogress-suffix=SUFFIX
--file-manifest-path=DIRECTORY
--file-manifest=OUTPUT
--output-file-progress
--overwrite=method** --overwrite=method**
-P ssh-port -P ssh-port
-p -p
--partial-file-suffix=suffix --partial-file-suffix=suffix
--policy={fixed|high|fair|low} --policy={fixed|high|fair|low}
--precalculate-job-size --precalculate-job-size
--precalculate-disable --precalculate-disable
--preserve-access-time --preserve-access-time
--preserve-acls=mode --preserve-acls=mode
--preserve-creation-time --preserve-creation-time
--preserve-file-owner-gid --preserve-file-owner-gid
-T -T
-u user_string -u user_string
--user=username --user=username
-v
-W token_string | @token_filepath
-w{r|f}
--write-threads=NUM
-X rexmsg_size -X rexmsg_size
-Z dgram_size -Z dgram_size
Ascp FAQs
Answers to some common questions about controlling transfer behavior, such as bandwidth usage,
resuming files, and overwriting files.
Procedure
1. How do I control the transfer speed?
You can specify a transfer policy that determines how a FASP transfer uses the network resource, and
you can specify target and minimum transfer rates where applicable. In an ascp command, use the
following flags to specify transfer policies that are fixed, fair, high, or low:
To improve the transfer speed, also consider upgrading the following hardware components:
Component Description
Hard disk The I/O throughput, the disk bus architecture (such as RAID, IDE, SCSI, ATA, and
Fibre Channel).
Network I/O The interface card, the internal bus of the computer.
CPU Overall CPU performance affects the transfer, especially when encryption is
enabled.
3. How do I ensure that if the transfer is interrupted or fails to finish, it resumes without
retransferring the files?
Use the -k flag to enable resume, and specify a resume rule:
-k 0 – Always retransfer the entire file.
-k 1 – Compare file attributes and resume if they match, and retransfer if they do not.
-k 2 – Compare file attributes and the sparse file checksum; resume if they match, and retransfer
if they do not.
-k 3 – Compare file attributes and the full file checksum; resume if they match, and retransfer if
they do not.
Corruption or deletion of the .asp-meta file that is associated with an incomplete transfer often
result in a permanently unusable destination file even if the file transfer resumed and successfully
transferred.
4. How does Aspera handle symbolic links?
The ascp command skips symbolic links by default.
Important: On Windows, the only option is skip.
Symbolic link handling also depends on the server configuration and the transfer direction. For more
information, see “Symbolic link handling” on page 87.
5. What are my choices for overwriting files on the destination computer?
In ascp, you can specify the --overwrite=method rule with the following method options:
• never - Never overwrite the file. However, if the parent folder is not empty, its access, modify, and
change times might still be updated.
• always - Always overwrite the file.
Introduction to ascp4
Ascp4 is a FASP transfer binary that is optimized for sending large sets of individual files. The executable,
ascp4, is similar to ascp and shares many of the same options and capabilities, in addition to data
streaming capabilities.
Both ascp4 and Ascp are automatically installed with IBM Aspera High-Speed Transfer Server, IBM
Aspera High-Speed Transfer Endpoint, and IBM Aspera Desktop Client.
As installed, Ascp is used for transfers that started from the GUI, and Ascp4 transfers can be only initiated
from the command line.
ascp4 syntax
ascp4 options [[user@]srcHost:]source_file1[,source_file2,...] [[user@]destHost:]dest_path
User
The username of the Aspera transfer user can be specified as part of the as part of the source or
destination, whichever is the remote server or with the --user option. If you do not specify a username
for the transfer, the local username is authenticated by default.
Note: If you are authenticating on a Windows machine as a domain user, the transfer server
strips the domain from the username. For example, Administrator is authenticated rather than
DOMAIN\Administrator. Thus, you must specify the domain explicitly.
Source and destination paths
• If there are multiple source arguments, then the target path must be a directory.
• To describe file paths, use single quotation marks (' ') and forward slashes (/) on all platforms.
• To transfer to the transfer user's docroot, specify "." as the destination.
• Avoid the following characters in file names: / \ " : ' ? > < & * |.
Environment variables
If needed, you can set the following environment variables for use with an ascp4 session. The total size
for environment variables depends on your operating system and transfer session. Each environment
variable value must not exceed 4096 characters.
ASPERA_SCP_PASS=password
The password that is used for SSH authentication of the transfer user.
ASPERA_SCP_TOKEN=token
Set the transfer user authorization token. Ascp4 currently supports transfer tokens, which must be
created by using astokengen with the --full-paths option. For more information, see Transfer
Token Generation (astokengen) in the IBM Aspera High-Speed Admin Guide
ASPERA_SCP_COOKIE=cookie
A cookie string that is passed to monitoring services.
Ascp4 options
Note: To see the ascp4 usage options, run ascp4 -h.
-A, --version
Display version and license information.
-c {aes128|aes192|aes256|none}
Encrypt in-transit file data by using the specified cipher. This option overrides the
<encryption_cipher> setting in aspera.conf.
--check-sshfp=fingerprint
Compare fingerprint to the server SSH host key fingerprint that is set with
<ssh_host_key_fingerprint> in aspera.conf. Aspera fingerprint convention is to use a hex
string without the colons; for example, f74e5de9ed0d62feaf0616ed1e851133c42a0082. For more
information on SSH host key fingerprints, see .IBM Aspera High-Speed Admin Guide.
--chunk-size=bytes
Perform storage read and write operations with the specified buffer size. Also, use the buffer size as
an internal transmission and compression block. Valid range: 4 KB - 128 MB. For transfers with object
storage, use --chunk-size=1048576 if chunk size is not configured on the server to ensure that the
chunk size of ascp4 and Trapd match.
--compare={size|size+mtime|md5|md5-sparse|sha1|sha1-sparse}method
When using --overwrite and --resume, compare files with the specified method. If the --
overwrite method is diff or diff+older, the default --compare method is size.
--compression={none|zlib|lz4}
Compress file data inline. Default: lz4. If set to zlib, --compression-hint can be used to set the
compression level.
--compression-hint=num
Compress file data to the specified level when --compression is set to an option that accepts
compression level settings (currently only zlib). A lower value results in less, but faster, data
compression (0 = no compression). A higher value results in greater, slower compression. Valid values
are -1 to 9, where -1 is "balanced". Default: -1.
-D | -DD | -DDD
Log at the specified debug level. With each D, an additional level of debugging information is written to
the log. This option is not supported if the transfer user is restricted to aspshell.
--delete-before, --delete-before-transfer
Before transfer, delete files that exist at the destination but not at the source. The source and
destination arguments must be directories that have matching names. Objects on the destination that
have the same name but different type or size as objects on the source are not deleted. Do not use
with multiple sources or --keepalive.
--dest64
Indicate that the destination path or URI is base64 encoded.
-E pattern
Exclude files or directories from the transfer based on the specified pattern. Use the -N option
(include) to specify exceptions to -E rules. Rules are applied in the order in which they are
encountered, from left to right. The following symbols can be used in the pattern:
src
src2
...
srcN
To read a file list from standard input, use "-" in place of filepath (as ascp4 --file-list=- …).
UTF-8 file format is supported. Use with -d if the destination folder does not exist.
Restrictions:
• Paths in file lists cannot use user@host:filepath syntax. You must use --user with --file-
list.
• Only one --file-list option is allowed per ascp4 session. If multiple file lists are specified, all
but the last are ignored.
• Only files and directories from the file list are transferred, and any additional source files or
directories that are specified on the command line are ignored.
• If more than one read thread is specified (default is 2) for a transfer that uses --file-list, the
files in the file list must be unique. Duplicates can produce unexpected results on the destination.
• Because multiple sources are being transferred, the destination must be a directory.
• If the source paths are URIs, the size of the file list cannot exceed 24 KB.
For large file lists (~100 MB+), use with --memory to increase available buffer space.
--file-manifest={none|text}
Generate a list of all transferred files when set to text. Requires --file-manifest-path to specify
the location of the list. (Default: none)
-X rexmsg_size
Limit the size of retransmission requests to no larger than the specified size, in bytes. Max: 1440.
-Z dgram_size
Use the specified datagram size (MTU) for FASP transfers. Range: 296 - 65535 bytes. Default: the
detected path MTU.
As of version 3.3, datagram size can be specified on the server by setting <datagram_size> in
aspera.conf. The server setting overrides the client setting, unless the client uses a version of ascp
that is older than 3.3, in which case the client setting is used. If the pre-3.3 client does not set -Z, the
datagram size is the discovered MTU and the server logs the message "LOG Peer client doesn't
support alternative datagram size".
Procedure
1. Set the chunk size (in bytes) in the server's aspera.conf. This value is used by both ascp4 and
Trapd, so the chunk sizes match.
To set a global chunk size, run the following command:
2. Set the chunk size in the client's aspera.conf to the Trapd chunk size.
If Trapd is using the default chunk size, run the following command to set the chunk size to 1 MB:
Ascp4 examples
The command options for ascp4 are generally similar to those for ascp. The following examples
demonstrate options that are unique to Ascp4. These options enable reading management commands
and enable read/write concurrency.
For Ascp examples, see “Ascp command reference” on page 55. See “Comparison of ascp and ascp4
options” on page 95 for differences in option availability and behavior.
• Read FASP4 management commands
Read management commands V4 from management port 5000 and run the management commands.
The management commands versions 4 are PUT, WRITE, and CLOSE.
• Increase concurrency
The following command runs ascp4 with two scan threads and eight read threads on the client, and
eight meta threads and 16 write threads on the server.
Appendix
Managing the Aspera service account
On Windows, the Aspera service account is special user account that is used to run services for Aspera
products. These services include IBM Aspera Central, IBM Aspera HTTPD and IBM Aspera Sync. These
instructions describe how to change the password for the Aspera service account and the user account
from the default svcAspera.
Procedure
1. Open the Windows User Accounts management tool. Go to Search from the taskbar and run this
command netplwiz.
2. Click the username of the Aspera service account.
3. Click Reset Password and follow the onscreen instructions.
Procedure
1. Open a Command Prompt window and run it as administrator.
Go to Search from the taskbar and type Command Prompt then right-click and select Run as
administrator.
2. Run asuser-services.bat to change the account.
To change the Aspera service account to an existing domain user account (email_address), run the
following command:
To change the Aspera service account to a new user without a preexisting account, run the following
command with the username and password of the new user:
faux:///dirname?file=file&count=count&size=size&inc=increment&seq=sequence&buf_init=buf_option
Where:
Where rand is a random number between zero and one. If necessary, increment is automatically
adjusted to prevent the file size from being negative.
For both options, increment is adjusted to prevent the file size from exceeding 7x260 bytes.
• buf_option is how faux source data is initialized: "none", "zero", or "random". Default is "zero". "none"
is not allowed for downloads (Ascp run with --mode=recv).
When the defaults are used, Ascp sends a directory that is named dirname and that contains count
number of zero-byte files that are named file_count.
For example, to transfer a faux directory (mydir) that contains 1 million files to /tmp on 10.0.0.2, and the
files in mydir are named "testfile" and file size increases sequentially from 0 - 2 MB by an increment of 2
bytes:
Faux target
To send data but not save the results to disk at the destination (do not write to the target), specify the
target as faux://.
For example, to send a real file to a faux target, run the following command:
Component Description
Hard disk The I/O throughput, the disk bus architecture (such as RAID, IDE, SCSI, ATA, and
Fibre Channel).
Network I/O The interface card, the internal bus of the computer.
CPU Overall CPU performance affects the transfer, especially when encryption is
enabled.
Examples
Delete the contents of the local directory /temp/logs-test/:
$ aclean /temp/logs-test/
Log files
The Aspera log file includes detailed transfer information and can be useful for review and support
requests.
To view the Aspera log, go to Tools > View Log.
C:\Program Files\Aspera\Client\var\log
The following files are available in the log folder. Older logs are stored with the same file name, which is
appended with incremental numbers (for example, ascmd.0.log).
To set the logging level for transfers, open the My Preferences dialog by clicking Tools > Preferences or
by clicking Preferences in the menu bar of the application window.
If you find that logs are being overwritten before long transfers of many files are complete, you can
increase the log size. For more information, see .
Procedure
1. To connect to Shares in the Desktop Client GUI, go to Connections and click .
Enter the following information:
<ascmd>
<log_cmd>
<as_info>no</as_info>
<as_ls>no</as_ls>
<as_rm>no</as_rm>
<as_du>no</as_du>
<as_df>no</as_df>
<as_mkdir>no</as_mkdir>
<as_cp>no</as_cp>
<as_mv>no</as_mv>
<as_md5sum>no</as_md5sum>
</log_cmd>
</ascmd>
As an example of asconfigurator usage, the following command specifies that any deletions from the
server file system by user xeno are logged:
asconfigurator -x "set_user_data;user_name,xeno;ascmd_log_cmd_as_rm,yes"
<ascmd>
<log_cmd>
<as_rm>yes</as_rm>
</log_cmd>
</ascmd>
Product limitations
Describes any limitations that currently exist for Aspera transfer server and client products.
• Path Limit: The maximum number of characters that can be included in any path name is 512 on
Windows and 4096 on Unix-based platforms.
• Illegal Characters: Avoid the following characters in file names - / \ " : ' ? > < & * |.
• Environment Variables: The total size for environment variables depends on your operating system and
transfer session. Each environment variable value must not exceed 4096 characters.
• Usernames with @ symbol: You cannot add a username with an "@" symbol through the Aspera GUI.
However, you can perform the following actions:
1. Set up a Hot Folder to sync with a Linux server that is using a Linux account that contains the "@"
symbol.
2. Connect to and start a transfer with a Linux server through the Aspera GUI with user credentials that
contains the "@" symbol.