Configuring for Shares

IBM Aspera Shares initiates transfers to and from a node by using the Node API. The Node API is a REST API that can be used to manage file systems and start and manage transfers. Shares authenticates to remote node services by using a Node API username and password. Different nodes can use different Node API username and password pairs.

The following instructions describe how to configure HSTS for Shares and assume that you have already set up your Shares application. The instructions for modifying aspera.conf use the asconfigurator command line tool, but the configuration can also be done in the HSTS GUI.

  1. Verify that you have a Connect-enabled HSTS license.
    Run the following command:
    ascp -A
    In the output, look for the following phrase:
    Connect Server License max rate

    If you need to update your transfer server license, see Updating the Product License.

  2. Ensure that the firewall is set up correctly on your transfer server
    For details, see Configuring the Firewall.
  3. Create an admin system user account.
    # useradd username
    Note: The following examples use xfer_user for the system user's name.
  4. Configure the user's docroot.
    The docroot is the path on the server to which the transfer user (xfer_user) has access. When this node is added to Shares, users cannot access files or folders outside of the docroot.
    CAUTION:
    Aspera recommends that you not use spaces in your docroot. If your docroot contains spaces, you might not receive all email notifications relating to transfer activity.

    Run the following command to set the docroot:

    # asconfigurator -x "set_user_data;user_name,username;absolute,docroot"
    For example,
    # asconfigurator -x "set_user_data;user_name,xfer_user;absolute,/project1"
  5. Configure token authorization for the user.
    # asconfigurator -x "set_user_data;user_name,username;authorization_transfer_in_value,allow"
    # asconfigurator -x "set_user_data;user_name,username;authorization_transfer_out_value,allow"
    # asconfigurator -x "set_user_data;user_name,username;token_encryption_key,encryption_key"
    The encryption key can be any string of numbers. Aspera recommends a string that is at least 20 characters long.

    For example,

    # asconfigurator -x "set_user_data;user_name,xfer_user;authorization_transfer_in_value,allow"
    # asconfigurator -x "set_user_data;user_name,xfer_user;authorization_transfer_out_value,allow"
    # asconfigurator -x "set_user_data;user_name,xfer_user;token_encryption_key,xdt92j3nsel5382rn293rwerh23895y25hfksue5y"
  6. Set the IP address or hostname of the node.
    # asconfigurator -x "set_server_data;server_name,ip_or_hostname"
  7. Verify persistent storage is enabled in aspera.conf for use with stats collector.
    Run the following asuserdata command to verify that the persistent_store parameter is set to enable:
    #/opt/aspera/bin/asuserdata -c
    
    central server option set:
      address: "127.0.0.1"
      port: "40001"
      backlog: "200"
      schema_validation: "enable"
      mgmt_backlog: "200"
      mgmt_port: "0"
      transfer_list_path: ""
      persistent_store: "enable"
      persistent_store_path: ""
      persistent_store_max_age: "86400"
      persistent_store_on_error: "ignore"
      event_buffer_capacity: "1000"
      event_buffer_overrun: "block"
      compact_on_startup: "enable"
      files_per_session: "1000000"
      file_errors: "true"
      ignore_empty_files: "true"
      ignore_skipped_files: "true"
      ignore_no_transfer_files: "true"
      db_synchronous: "off"
      db_journal: "wal"
    If persistent storage is not enabled, enable it:
    # asconfigurator -x "set_central_server_data;persistent_store,enable"

    Restart the asperacentral service to update the node configuration:

    Run the following command in a Terminal window to restart asperacentral:
    # systemctl restart asperacentral
    or for Linux systems that use init.d:
    # service asperacentral restart
  8. Configure the system user with a Node API username and password.
    Aspera recommends that you use different names for the system user and the Node API username in order to minimize confusion when tracing transactions and events.

    Run the following command to configure the Node API username and password:

    # /opt/aspera/bin/asnodeadmin -a -u node_api_username -p node_api_passwd -x username

    For example,

    # /opt/aspera/bin/asnodeadmin -a -u node_user -p AsperaPassWord -x xfer_user

    Confirm that the user was successfully added by running the following command and reviewing the output:

    # /opt/aspera/bin/asnodeadmin -l
                    user       system/transfer user                    acls
    ====================    =======================    ====================
               node_user              xfer_user
  9. Install the IBM Aspera Connect Browser Plug-In key.
    1. Create the .ssh folder if it does not already exist in the system user's home directory:
      # mkdir -p /home/username/.ssh
    2. Add the aspera_id_rsa.pub public keys to authorized_keys:
      # cat /opt/aspera/var/aspera_id_rsa.pub >> /home/username/.ssh/authorized_keys
    3. Transfer ownership of the .ssh folder and authorized_keys file to the system user:
      # chown -R username:username /home/username/.ssh
      # chmod 600 /home/username /.ssh/authorized_keys
      # chmod 700 /home/username
      # chmod 700 /home/username /.ssh
You can now connect the node to Shares.