push-sftp – push secure file transfer program Push SFTP
push-sftp [-DIvX] [--help] [--prompt] [-a=SOCKET]
[-b=SCRIPT] [-c=CIPHER] [-d=PATH] [-h=HOSTNAME]
[-i=FILE] [-k=KEX] [-l=LEVEL] [-m=MAC]
[-p=PORT] [-r=PATH] [-s=LEVEL] [-u=USER]
[-x=ALGO] [-z=TYPE] [COMMAND]
push-sftp user@host [COMMAND]
The push-sftp utility is an interactive file transfer program with a user interface similar to sftp. It has an additional command, “push”, that will split files into separate parts and upload them in parallel. This is a technique that can increase the performance of transfers, especially on latent networks.
push-sftp implements the SSH File Transfer Protocol as defined in draft-ietf-secsh-filexfer.
The command creates an SFTP connection to the host. If no COMMAND is provided, it enters an interactive mode, logging in the user provided through any mechanism it can determine through the supplied options, falling back to prompting the user for their password.
The following options are supported:
-h hostname
The hostname to connect to. May also be provided in user@hostname format with no command switch.
-u username
The username to use on the connection. It may also be provided in user@hostname format with no switch.
-p port
The port number on which the service is listening
-i identity file
A path to an SSH private key to use for public key authentication.
-b batchfile
Batch mode reads a series of commands from an input batchfile instead of stdin. This lacks user interaction, so using this with a non-interactive authentication method is advised. Processing will abort if any error occurs.
-c cipher
Set the preferred cipher to use for this connection. If either side does not support the cipher, the connection fails.
-k key exchange
Set the preferred key exchange to use for the connection. The connection fails if either side does not support the key exchange mechanism.
-m mac
Set the preferred mac to use for the connection. The connection fails if either side does not support the mac.
-z compression
Set the preferred compression to use for the connection. The connection fails if either side does not support the compression algorithm provided.
-x public key algorithm
Set the preferred public key algorithm name for the server’s host key. The connection fails if the server does not have a host key of this type.
-l level
Set the level of console logging. This can be a value of INFO, DEBUG or TRACE.
-s security level
Set the security level for the connection. The security level determines what algorithms are advertised to the remote server during key exchange. Choose from WEAK, STRONG, or PARANOID for varying levels of security strength.
-r remote directory
The path to use as the remote working directory.
-d local directory
The path to use as the local working directory.
-a agent socket
The path to the sshagent socket to perform public key authentication with the help of sshagent.
-D
Disable any attempt to connect to an sshagent for public key authentication.
-X
Print out full stack traces of Java exceptions.
-I
Ignore known identity locations when attempting public key authentication. Known identities are stored under the users .ssh directory and will be named id_rsa, id_ed25519, id_ed448 and id_ecdsa.
-v
Print out the program version.
push-sftp understands these commands when running in batch or interactive mode.
bye, quit, exit
Quits push-sftp
cd path
Changes the remote directory to the supplied path.
lcd path
Change the local working directory.
pwd
Prints out the remote working directory.
lpwd
Prints out the local working directory.
help
Prints out help information.
info
Print information about the current connection, such as active cipher, mac, and key exchange. Some debugging information will also be displayed if you have performed any transfers.
ls [-la]
List the contents of the remote working directory.
The ls command supports the following options.
-a
Include files beginning with . (hidden files).
-l
Print the long name format, which includes permissions and ownership information.
lls [-la]
List the contents of the local working directory. This command supports the same arguments as ls.
mkdir path
Create the remote directory specified by path.
rm path
Delete the file specified by path.
rmdir path
Delete the directory specified by path.
umask umask
Set the umask value on the SFTP client. This is applied to new files and directories created by the client on the remote server.
chgrp group path
Change the group ownership on path.
chown user path
Change the user ownership on path.
chmod mode path
Change the permissions of path to mode.
put [-T] [-a requests] [-b blocksize] local [path]
Uploads local to the remote working directory. If path is provided, it overrides the working directory for path.
-T
Output the exact timing of the transfer.
-a requests
Change the number of async requests that are used to optimize the transfer.
-b blocksize
Override the block size used to send data to the remote server.
get [-baT] remote
Downloads the remote path from the server to the local working directory. This command also supports the same flags as the put command.
update
Check for updates for this application.
push [-MvGFBT] [] [-d digest] [-r path] [-a requests] [-b blocksize] files..
Split up each file and upload in parallel over multiple SFTP connections.
-T
Output the exact timing of the transfer.
-M
Multiplex transfers over a single connection.
-c chunks
Set the number of chunks; each is sent over a separate connection. Defaults to 3.
-v
Verify the integrity of the remote file after transfer using SFTP file hashing extensions
-d digest
Sets the digest algorithm to use when performing integrity verification. Supported values are md5, sha1, sha256 and sha512. The default hash algorithm is md5.
-G
If the remote server does not support file hashing extensions, ignore the failure if integrity checking is performed.
-r remote path
Upload the files to an alternative remote directory.
-B
Generate verbose output.
-a requests
Change the number of async requests that are used to optimize the transfer.
-b blocksize
Override the block size used to send data to the remote server.