Environment
Reflection for Secure IT UNIX Client version 7.0 or higher
Situation
Both the scp (secure copy) and sftp (secure FTP) file transfer client utilities provide secure encrypted authentication and data transfer over SSH2. This technical note describes how to establish an authentication method that can be automated, how to create a batch file of sftp file transfer commands, and then how to issue an sftp command that uses the authentication method and batch file as parameters.
For more information about:
- The difference between scp and sftp, see KB 7022000.
- Using the API to automate secure FTP transfer over SSH using the Reflection FTP Client, see KB 7021275.
Resolution
1. Establish an Authentication Method that can be Automated
To automate file transfers, you must first set up an authentication method that does not require user input, such as Public Key Authentication with an empty passphrase.
For detailed steps on configuring Reflection for Secure IT for public key authentication, see Technical Notes 1926 and 1881.
2. Create a Batch File of SFTP Commands
Use a text editor, such as Notepad or vi, to create a text batch file that contains the sftp file transfer commands you want to automate. You will call this file when you issue the sftp command.
Commands Available in Reflection for Secure IT
A full list of commands and their syntax can be viewed either from your product's documentation page online or from the sftp client itself.
Windows Client
To access a list of commands for the Windows client online, see https://docs.attachmate.com/reflection/rsit-ssh/7.2sp3/winclient/help/en/rsit_client_sftp_command_rf.htm.
To access a list of commands from Reflection for Secure IT Windows Client, follow these steps:
- Establish an sftp connection to a host.
- At the host prompt, enter help.
A list of supported commands and definitions will be displayed.
UNIX Client
To access a list of commands for the UNIX client online, see https://docs.attachmate.com/reflection/rsit-ssh/8.0sp1/unix/en/man-pages/sftp_man_page.htm.
To access a list of commands from Reflection for Secure IT UNIX Client, follow these steps:
- At the client host prompt, before connecting to a host, enter sftp.
- At the sftp prompt, type help.
A list of supported commands will be displayed. Note: To obtain detailed information about a command, type help <command name>.
Sample Batch Files
The following sample batch files upload a file in binary mode to the user's .ssh2 directory, and then disconnect:
##upload a public key from windows system to UNIX system. lcd "C:\Users\user1\Documents\Attachmate\Reflection\.ssh" cd /home/user1/.ssh2 binary put user1.pub quit
##upload a public key from UNIX system to UNIX system lcd /home/user2/.ssh2 cd /home/user2/.ssh2 binary put user2.pub quit |
3. Use the SFTP Command to Authenticate and Run the File
Use the following command to authenticate to your host and run the file transfer batch file.
Windows Client
Syntax: sftp –B <path>\<batch_file> <username>@<hostname>
Example: sftp –B C:\MyFiles\uploadkey.txt user1@myhost
UNIX Client
Syntax: sftp –B /<path>/<batch_file> <user name>@<host name>
Example: sftp –B /home/user2/uploadkey user2@myhost
Note: The –B parameter is case sensitive and is capitalized.
If you plan to automate further processes using a Windows batch file, you can include this sftp command line in the Windows batch file.
Additional Information
Legacy KB ID
This document was originally published as Attachmate Technical Note 2126.