Get a file with SFTP
Description
The Get a file with SFTP
action retrieves one or more files from an FTP server using the Secure FTP protocol.
The action returns true if the specified file(s) or pattern were retrieved successfully, false it there were problems retrieving the file(s).
If you run into a Algorithm Negotiation Fail error when connecting to your SFTP server, check the Algorithm Negotiation Fail Error section at the end of this page. |
Options
General tab
Option | Description |
---|---|
Action name | The name of the workflow action. |
SFTP-server name / IP | The name of the SFTP server or the IP address |
Port | The TCP port to use. This is usually 22 |
User name | The user name to log into the SFTP server |
Password | The password to log into the SFTP server |
Use private keyfile | Indicates whether or not a private keyfile is to be used. |
Private key filename | If Use private keyfile is checked then this field is enabled. The file can be browsed to using the browse button to the right of the field. The Private Key should be in the PEM file format. For PuTTY-based Private Keys, use PuTTYgen to convert the file into "OpenSSH" format. |
Key passphrase | If Use private keyfile is checked then this field is enabled. If a passphrase is required then enter it here. |
Proxy type | The type of proxy to use for the connection. The available options are:
|
Proxy host | The proxy host to use for the connection |
Proxy username | The proxy username to use for the connection |
Proxy password | The proxy password to use for the connection |
Compression | The compression to use for this SFTP connection. The available options are
|
Files tab
Option | Description |
---|---|
Source files | |
Copy previous results to args | If the files to retrieve are dynamically generated by another pipeline, check this option. Hop will select files list from previous result rows (not result files) and search for these files. The first field in the results will be used for the search and must contain the file names only, not full or partial paths: all files will be searched in the remote directory defined below. |
Remote Directory | The remote directory on the SFTP server from which the files will be retrieved. Use the Test folder button to connect to the remote server and validate that the folder exists. |
Wildcard (regular expression) | Specify a regular expression here if you want to select multiple files. This field is disabled if the Copy previous results to args flag above is enabled. Examples of regular expressions: |
Remove files after retrieval | Check this flag to delete the remote file after it is downloaded. Be aware that usually this operation cannot be undone! |
Target files | |
Target Directory | The directory on the machine on which Hop runs in which you want to place the transferred files |
Create target folder | Check this option if the destination folder does not exist and should be created. |
Add filenames to result | If checked the information about downloaded files is added to the result files stream. |
Algorithm Negotiation Fail Error
If your Get a file with SFTP
action returns an error message like the one below, you (or the server you are connecting to) are probably using key types that are considered unsafe in the dependencies used by this action in recent Apache Hop versions.
com.jcraft.jsch.JSchhAlgoNegoFailException: Algorithm negotiation fail…
The better and more secure option is to upgrade your keys to more secure types. However, you can still connect to this SFTP server by adding the options below to the HOP_OPTIONS
variable in your startup command (in hop-gui.sh/bat
or hop-run.sh/bat
, or in your HOP_OPTIONS
environment variable):
-Djsch.client_pubkey=ssh-rsa,ssh-ed25519,ecdsa-sha2-nistp256,ecdsa-sha2-nistp384,ecdsa-sha2-nistp521,rsa-sha2-512,rsa-sha2-256 -Djsch.server_host_key=ssh-ed25519,ecdsa-sha2-nistp256,ecdsa-sha2-nistp384,ecdsa-sha2-nistp521,rsa-sha2-512,rsa-sha2-256,ssh-rsa