scpg3 — Secure Shell file copy client - Generation 3
scpg3 [options...]
[[user@] src_host [#port]:]src_file...
[[user@] dst_host [#port]:]dst_file_or_dir
scpg3 (scpg3.exe on Windows) is used to
securely copy files over the network. scpg3 launches
ssh-broker-g3 to provide a secure transport using the
Secure Shell version 2 protocol.
ssh-broker-g3 will ask for passwords or passphrases if they
are needed for authentication. scpg3 uses the configuration
specified in the ssh-broker-config.xml file.
Any filename may contain a host, user, and port specification to
indicate that the file is to be copied to or from that host. Copies
between two remote hosts are permitted. The remote host(s) must be
running a Secure Shell version 2 server with the sftp-server
subsystem enabled.
The host parameter can optionally be
enclosed in square brackets ([]) to allow the use of
semicolons. The
file argument can contain simple wild cards:
asterisk (*) for any number of characters and question mark
(?) for any one character.
The following command-line parameters can be used to further specify
the scpg3 options.
-a[arg]Transfers files using the ASCII mode, that is, newlines will be
converted on the fly. See the ascii command
in the section called “Commands”.
If the server does not advertise the newline convention, you can give
it a hint by giving an argument after -a. The default is to
set the destination newline convention, but you can specify either one by
prefixing the argument with src: or dest:
for source or destination convention, respectively. The available
conventions are dos, unix, and mac,
using \r\n, \n, and \r as newlines,
respectively. An example is shown below:
$ scpg3 -asrc:unix -adest:dos src_host:src_file dest_host:dest_file
-b buffer_sizeDefines maximum buffer size for one request (default: 32768 bytes).
-B, --batch-modeUses batch mode.
-dForces target to be a directory.
-D, --debug=LEVELSets the debug level. LEVEL is a number
from 0 to 99, where 99 specifies that all debug information should be
displayed. This should be the first argument on the command line.
-I, --interactivePrompts whether to overwrite an existing destination file (does not
work with -B).
-N max_requestsDefines maximum number of requests sent in parallel (default:
10).
-O, --offset=r<offset>|w<offset>|l<length>|t<length>Sets offset. Offset r<offset> specifies the start
offset in the source file. Offset w<offset> specifies
the start offset in the destination file. Length
l<length> specifies the amount of data to be copied.
Truncate length t<length>, if given, specifies the
length to which the destination file is truncated or expanded after the
file data has been copied.
-pPreserves file attributes (Unix) and timestamps (Unix and Windows).
-P portConnects to this Secure Shell port on the remote machine (default: 22).
-qUses quiet mode (only fatal errors are shown).
-QDoes not show progress indicator.
-rRecurses subdirectories.
-u, --unlink-sourceRemoves source files after copying (file move).
-v, --verboseUses verbose mode (equal to -D 2).
--fipsUses the FIPS mode.
--force-lower-caseDestination filename will be converted to lowercase characters.
--overwrite [={yes|no}]Decides whether to overwrite existing destination file(s) (default:
yes).
--password= PASSWORD|file://PASSWORDFILE|extprog://PROGRAM Sets user password that the client will send as a response to password
authentication. The PASSWORD can be given
directly as an argument to this option (not recommended), or a path to file
containing the password can be given, or a path to a program or a script
that outputs the password can be given.
![]() | Caution |
|---|---|
Supplying the password on the command line is not a secure option. For example, in a multi-user environment, the password given directly on the command line is trivial to recover from the process table. You should set up a more secure way to authenticate. For non-interactive batch jobs, it is more secure to use public-key authentication without a passphrase, or host-based authentication. At a minimum, use a file or a program to supply the password. |
--plugin-path=PATHSets plugin path to PATH. This is only used in the FIPS mode.
--prefix=PREFIXAdds prefix to filename during the file transfer. The prefix is removed after the file has been successfully transferred.
--statistics[=yes|no|simple]Chooses the statistics style (default: yes).
--streaming[=yes|no|force]Uses streaming in file transfer, if server supports it. Files
smaller than buffer_size are not transferred using streaming.
Use force with small files (default: yes).
--checksum[=yes|no|md5|sha1|md5-force|sha1-force|checkpoint]Uses MD5 or SHA-1 checksums or a separate checkpoint database to
determine the point in the file where file transfer can be resumed. Files
smaller than buffer_size are not checked. Use
md5-force or sha1-force with small files (default:
yes, i.e. use MD5 checksums).
-W, --whole-fileDoes not try incremental checks (default: no, i.e. try
incremental checks).
--checkpoint=s<seconds>Time interval between checkpoint updates (default: 10 seconds).
--checkpoint=b<bytes>Byte interval between checkpoint updates (default: 10 MB).
-V, --versionDisplays program version and exits.
-?, -h, --helpDisplays a short summary of command-line options and exits.
scpg3 returns the following values based on the
success of the operation:
0 Operation was successful. 1 Internal error. 2 Connection aborted by the user. 3 Destination is not a directory, but a directory was specified by the user. 4 Connecting to the host failed. 5 Connection lost. 6 File does not exist. 7 No permission to access file. 8 Undetermined error from sshfilexfer. 101 Wrong command-line arguments specified by the user.
Copy files from your local system to a remote Unix system:
$ scpg3 localfile user@remotehost:/dest/dir/for/file/
Copy files from your local system to a remote Windows system:
$ scpg3 localfile user@remotehost:/C:/dest/dir/for/file/
Copy files from a remote system to your local disk:
$ scpg3 user@remotehost:/dir/for/file/remotefile /dest/dir/for/file