|
Article ID: 145
Last updated: 07 Oct, 2025
UPDATE: As of June 2, 2023, you must ensure that your SUP client has been updated with the latest version 8.13 (available below). You must do one of the following to replace their SUP client manually:
The Secure Unattended Proxy (SUP) allows you to perform remote operations on specific hosts within the NAS enclave front-ends (currently, PFEs and LFEs) without needing to use your RSA SecurID token at the time of the operation. To accomplish this, you must first obtain special "SUP keys" using RSA SecurID authentication, which you can then use to perform operations from unattended jobs and/or scripts. Each SUP key is valid for a period of one week from the time it is generated. You may have multiple SUP keys at the same time, which will expire asynchronously. SUP keys are currently allowed to call scp, sftp, qstat, rsync, shiftc, ssh-balance, and test. Note: The shiftc command is built into the sup command; therefore, when you download the SUP client, you will also get shiftc. SUP Usage SummaryThe steps in this section demonstrate how to quickly get up and running with the SUP. Each step is explained in more detail in subsequent sections. In these steps, host refers to a PFE or LFE; the command lines shown are examples.
SUP ClientThe SUP client performs all the steps needed to execute commands through the SUP as if the SUP itself did not exist. Commands that are allowed to pass through the SUP can be executed as if the remote host were directly connected by simply prepending the client command sup, as shown in example 4, above. Besides executing remote commands, the client also includes an operating-system-independent virtual filesystem that allows files across all SUP-connected resources to be accessed using standard filesystem commands. RequirementsThe SUP requires OpenSSH version 5.4 (or later) and Perl version 5.8.5 (or later) and has been tested successfully on Linux, OS X, and Windows under Cygwin. These requirements are typically installed by default on Linux and OS X, but may need to be manually installed on Cygwin through the package manager as the openssh and perl packages. For general Cygwin installation instructions, see Installing Cygwin (PDF). InstallationComplete the following steps to install the client:
SSH ConfigurationIf your local username differs from your NAS username, it is recommended that you add the following to your ~/.ssh/config file, where nas_username is replaced with your NAS username:
Note: If you are using a config file based on the NAS config template, you do not have to do this step. Alternatively, the client's -u option can be used as described in the next section. If your local username is the same as your NAS username, no additional configuration or command-line options are required. SUP Command-Line Options
SUP AuthorizationsThe basic set of operations that may be performed using the SUP is specified by the administrator. To protect accounts from malicious use of SUP keys, users must grant execute and write permissions to SUP operations on each target system. Authorizing Execute OperationsBy default, even SUP operations permitted by site policy are not allowed to execute on a given host. To enable SUP operations to a given host (PFE or LFE), the file ~/.meshrc must exist on that host, which can be created by invoking the following:
Note that the PFEs share their home filesystems, so this must only be done on one of these nodes. Other systems must be authorized separately. Once this file exists on a host, all operations permitted by site policy are allowed to execute on that host. Authorizing Write OperationsBy default, SUP operations are not allowed to write to the filesystem on a given host. To enable writes to a given directory on a given host, that directory must be added (on a separate line) to the ~/.meshrc file on that host. For example, the following lines in ~/.meshrc indicate that writes should be permitted to /nobackupp2 and your home directory.
Each directory is the root of allowed writes, so this configuration would allow writes to all files and directories rooted at /nobackupp2 and your home directory (for example, /nobackupp2/some/dir). Note that the root directory cannot be authorized. Also note that dot files (that is, ~/.*) in your home directory are never writable regardless of the contents of ~/.meshrc. Executing Commands Through SUPUsage examples of each command that may be executed through the SUP are given below. Note: SUP commands must be authorized for execution on each target host, and that transfers to a given host must be authorized for writes. Before a given operation is performed, the client may ask for certain information, including the existing or new passphrase for ~/.ssh/id_rsa, the password + passcode for sup.nas.nasa.gov, and/or the password + passcode for sup-key.nas.nasa.gov. For more detailed information on each command, see their corresponding man pages. File Transfer Commandsrsync
If you intend to transfer files to your home directory, note that even if your home directory has been authorized for writes, rsync transfers to your home directory will fail unless the --inplace option is specified. This is because rsync uses temporary files starting with "." during transfers, which cannot be written in your home directory. You can avoid this problem by specifying --inplace as shown in the following example:
scp
sftp
shiftc
For more information, see Using Shift for Remote Transfers and Tar Operations. File Monitoring Commandtest
Job Monitoring Commandqstat
ssh-balance and bbFTPssh-balance
Note that this command allows the load balancer among the PFEs to be used with bbftp:
SUP Expected OutputThe following sequence shows the expected output for the command:
for a user who has never used the SUP before. The conditions under which each sub-sequence will be seen are indicated next to each header. Most of the items will only be seen once or during key generation. A second invocation will only show the command output portion.
SUP TroubleshootingThe following error messages may be encountered during your SUP client usage. Note that the -v option can be given to the SUP client to output additional debugging information.
Also read
|