SFTP Send

From Commander4j Wiki
Revision as of 21:42, 6 December 2020 by Dgarratt (Talk | contribs) (Installation)

(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search

SFTP Send

For support please email support@commander4j.com

Installation

Download the appropriate version of the application from SourceForge[1]

Note that the Windows and MacOS version of the application come with their own private Java Runtime bundled as part of the installer. The Linux version of the installer does not have Java included with it and you will need to make sure that you have Java 1.8 or higher available on your machine.

There is no Graphical User Interface (GUI) for this utility. It can be run from the command prompt / terminal or as a background process.

Before running the application you need to configure it by editing 2 xml files which can be found in the xml/config 'subdirectory.

The two files of interest are sftpSend.xml and email.xml. You only need to edit email.xml if you want the application to send you notifications when files are transferred.

Example 1 (User Password Authentication)

SftpSend1.jpg

The example above shows some values for a configuration that would be used to upload files of type *.xml to a remote SFTP server with username and password authentication.

Line 7 title is a simple heading and is used both for simple documentation and is also used by the email module as the subject for any emails sent.

Line 8 emailEnabled is a simple "true" or "false" switch which either enables or disables the sending of emails by the SFTP Send application.

Line 12 remoteHost is the name of IP Address of the remote host. Note that you can encrypt this information if you want using the SFTP Send Encrypt Utility

Line 13 remotePort is the port number to use for the SFTP connection

Line 14 checkKnownHosts is a yes or no switch to determine if the application validates the connection using the known_hosts file.

Line 15 knownHostsFile is the location of the "known_hosts" file to use.

Line 16 authType can have two possible values "user password" or "user public key"

Line 17 username can be used with both types of authentication.

Line 18 password only used for "user password" authentication

Line 19 privateKeyFile contains the location of the private key file that you want to use. An example linux command line for creating a key pair would be ssh-keygen -m pem -f $1 where $1 should be the filename that you want to create

Line 20 privateKeyPasswordProtected is a "yes" or "no" question

Line 21 privateKeyPassword if you password protected the private key then this entry will store that password.

Line 25 localDir contains the path to where you intend to place files for uploading. You should end the path with the appropriate path separator for your operating system "/" or "\"

BE VERY CAREFUL YOU SPECIFY THE CORRECT LOCAL PATH - FILES WILL BE REMOVED / DELETED FROM THIS FOLDER ONCE THEY HAVE BEEN SENT

Line 26 localFileMask is a wildcard mask to allow the program filter those files which are identified for upload. You could for example use "*.xml" or "UPL?????.xml"

Line 27 backupDir if you wish to keep a local backup copy of files before they are uploaded to the remote server then you can specify where this backup folder is using this setting.

Line 31 remoteDir is the path (folder/directory) on the remote server where you want files saved.

Line 32 tempFileExtension if the remote system is processing files as they arrive you can specify a temporary file extension so that the file won't be recognised and processed until it's finished uploading. This assumes that the remote process is also using a wildcard to identify files to process.

Example 2 (Public Key)

SftpSend3.jpg

Most of the settings are the same as in Example 1 above. The settings which are relevant to Public Key authentication as shown below.

Line 16 authType is "user public key"

Line 19 privateKeyFile contains the location of the private key file that you want to use. An example linux command line for creating a key pair would be ssh-keygen -m pem -f $1 where $1 should be the filename that you want to create

Line 20 privateKeyPasswordProtected is a "yes" or "no" question

Line 21 privateKeyPassword if you password protected the private key then this entry will store that password.


Running SFTP Send (Console / Command Line)

Simply open up a terminal, change into the install folder and run

sftpSend_Console

You will see output on the screen which shows what is happening.

Running SFTP Send (Windows Service)

Open a command prompt with admin permissions (Run as Administrator)

sftpSend_Service /install SFTP_Service sc config SFTP_Service displayName= "SFTP Service"

From the Windows Services App you can change the startup mode, configure a account to run under for network permissions etc

You can also manually stop and start the app from the control panel.

To remove the service - stop it running then from a command line (running with admin permissions)

sc delete SFTP_Service

Running SFTP Send (Linux Daemon)

Open a terminal

sftpSend_Service /install

You can now control the background task using commands like :-

sftpSend_Service status sftpSend_Service start sftpSend_Service stop sftpSend_Service restart

To uninstall the background service/daemon

sftpSend_Service /uninstall