Setting Up an OS X Node

A node is a local, remote, or cloud workstation running an Aspera transfer server product (IBM Aspera Enterprise Server, IBM Aspera Connect Server). In order to make transfers, Shares communicates with a node through the Node API. The Node API is a daemon on the transfer server that offers REST-inspired file operations and a transfer management API. Aspera web applications authenticate to remote node services using a Node API username and password. Different nodes may use different Node API username and password pairs.

Note: The following instructions require you to have administrative privileges.
  1. Verify you have installed IBM Aspera Enterprise Server with a valid Connect Server license on your transfer server.
    Run the following command:
    $ ascp -A
    In the resulting output, look for the following phrase:
    Connect Server License max rate

    If you need to update your transfer server license, follow the instructions in IBM Aspera Enterprise Server Admin Guide: Updating Product License.

  2. Create a system admin account on the node.
    1. Go to System Preferences > Users & Groups.
    2. Click the lock button and enter your admin credentials to make changes.
    3. Click the add button.
    4. Select Administrator from the New Account drop-down menu.
    5. Name the account.
    6. Enter and verify a password for the account.
    7. Click Create User.
    8. Click Login Options in the users panel.
    9. Click the Join button next to Network Account Server.
    10. Click Open Directory Utility.
    11. In the Directory Utility window, click the lock button and enter an administrator account and password to make changes.
    12. From the menu bar, select Edit > Enable Root User.
    13. Enter and verify the password.
    14. Click OK.
    The following examples use xfer_user as an example username.

The following steps use the asconfigurator utility to modify the aspera.conf configuration file, located at:

/Library/Aspera/etc/aspera.conf

  1. Add the user to aspera.conf and set the docroot.
    Run the following asconfigurator command with the transfer username and the docroot path:
    $ asconfigurator -x "set_user_data;user_name,username;absolute,/
                            docroot/path"
    For example:
    $ asconfigurator -x "set_user_data;user_name,xfer_user;absolute,/project1"
  2. Set up token authorization for the user in aspera.conf.
    Run the following asconfigurator commands to set the encryption key for the user:
    $ asconfigurator -x "set_user_data;user_name,username;authorization_transfer_in_value,token"
    $ asconfigurator -x "set_user_data;user_name,username;authorization_transfer_out_value,token"
    $ 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,token"
    $ asconfigurator -x "set_user_data;user_name,xfer_user;authorization_transfer_out_value,token"
    $ asconfigurator -x "set_user_data;user_name,xfer_user;token_encryption_key,gj5o930t78m34ejme9dx"
  3. Set the IP address or hostname for the node in the aspera.conf file with the following asconfigurator command:
    $ asconfigurator -x "set_set_server_data;server_name,ip_or_hostname"
    For example:
    $ asconfigurator -x "set_set_server_data;server_name,aspera.example.com"
  4. 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:
    $ /Library/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, you must run the following asconfigurator command to enable it:
    $> asconfigurator -x "set_central_server_data;persistent_store,enable"

    Restart the asperacentral service to update the node configuration:

    $ sudo launchctl stop com.aspera.asperacentral
    $ sudo launchctl start com.aspera.asperacentral
    $ sudo launchctl stop com.aspera.asperanoded
    $ sudo launchctl start com.aspera.asperanoded
  5. Set up a transfer user account with a Node API username and password.
    Shares authenticates to the node machine using a Node API username and password. The following command creates a Node API user and password and associates it with the system user you created.
    Note: Aspera recommends that you use different names for the system user account and transfer user account in order to minimize confusion when tracing transactions and events.
    1. Run the following commands to set up the Node API user:
      $ /Library/Aspera/bin/asnodeadmin -a -u node_api_username -p node_api_passwd -x system_username 
      $ /Library/Aspera/bin/asnodeadmin -a -u node_user -p XF324cd28 -x xfer_user 
    2. Run the following command to check the system user was successfully added to asnodeadmin:
      $ /Library/Aspera/bin/asnodeadmin -l
      Given a node user named node_user and a system user named xfer_user, the result should be similar to the following example:
                      user       system/transfer user                    acls
      ====================    =======================    ====================
                 node_user                  xfer_user                        
    Adding, modifying, or deleting a node-user triggers automatic reloading of the user database and the node's configuration and license files.
  6. Install the IBM Aspera Connect Browser Plug-In key.
    1. If the .ssh folder does not already exist in the system user's home directory, run the following commands to create the folder:
      $ mkdir "/Users/username/.ssh"
      For example:
      $ mkdir "/Users/xfer_user/.ssh"
    2. If the authorized_keys file does not already exist, use a text editor to create or edit the following file: /Users/username/.ssh/authorized_keys.
    3. Copy the contents of the aspera_id_dsa.pub (/Library/Aspera/Enterprise Server/var/aspera_id_dsa.pub ) public key to the file.
      The file must be named "authorized_keys" without file extensions. Some text editors add a .txt extension to the filename automatically. Be sure to remove the extension if it was added to the filename.
  7. Set up the transfer user account as a user in Enterprise Server, if it is not already configured.
    For more information on adding users, see the IBM Aspera Enterprise Server Admin Guide: Setting Up Users.
The transfer node is now ready for connection to Shares.

For instructions on adding a node to Shares, see Adding Nodes.