Outbound File Transfer Examples

Article ID: 143
Last updated: 07 Oct, 2025

You can transfer files between NAS and your local site either by running the transfer command on a PFE or LFE, or by running the command on your local system. Running the command on your local system requires you to go through a secure front end (SFE) or to set up the Secure Unattended Proxy (SUP) or SSH passthrough. Therefore, if your local system is set up to allow direct inbound connections, then starting the transfer from a PFE or LFE will be much simpler than starting the transfer from your local system.

The sample command lines shown below demonstrate how to run the scp or shiftc commands on a PFE to transfer files to or from you local system. You can also apply the commands to other systems in the enclave, such as the LFEs.

Notes:

  • The sample command lines use pfe21 as an example.
  • Two command lines are provided for each transfer method. Use the first one if your username for your local system is the same as your username for the NAS systems. If the usernames are different, use the second.

Using scp

To push files out of a PFE to your local system:

pfe21% scp filename your_local_system:
pfe21% scp filename local_username@your_local_system:

To pull files into a PFE from your local system:

pfe21% scp your_local_system:filename .
pfe21% scp local_username@your_local_system:filename .

Using shiftc

In most cases, it is recommended to initiate remote transfers on the non-NAS side using SUP/Shift since all authentication, firewalls, and shift options have been preconfigured to work correctly. Remote transfers initiated from within NAS, however, are possible if the ssh port of the remote system is accessible and supports the publickey authentication method. The private key must either be loaded in your ssh-agent process or you must use a passphrase-less private key file with --identity set to its full path name. In addition, the file "shift-aux" (obtainable from /usr/local/bin on any pfe or lfe) must be in the default $PATH on the remote system. It is recommended to restrict the list of remote transports to rsync, fish, and shift unless you know which ports are accessible on the remote host and can specify --ports (for either fish-tcp or bbftp) and/or bbftpd is installed on the remote host (for bbftp).

To push files out of a PFE to your local system:

pfe21% shiftc --remote=rsync,fish,shift filename your_local_system:
pfe21% shiftc --user=local_username --identity=~/.ssh/your_private_key filename your_local_system:

To pull files into a PFE from your local system:

pfe21% shiftc --remote=rsync,fish,shift your_local_system:filename .
pfe21% shiftc --user=local_username your_local_system:filename .

See Shift Command Options for all available options. Transfers may be monitored and stopped/restarted using normal shift methods. See Checking Shift Transfer Status and Restarting Transfers for more information.

Contact Us

General User Assistance

Security

  • Report security issues 24x7x365
  • Toll-free: 1-877-NASA-SEC (1-877-627-2732)
  • E-mail: soc@nasa.gov

User Documentation

High-End Computing Capability (HECC) Portfolio Office

NASA High-End Computing Program

Tell Us About It

Our goal is furnish all the information you need to efficiently and effectively use the HECC resources needed for your NASA computational projects.

We welcome your input on features and topics that you would like to see included on this website.

Please send us email with your wish list and other feedback.