SCP(1) | General Commands Manual | SCP(1) |
scp
— OpenSSH
secure file copy
scp |
[-346ABCOpqRrsTv ] [-c
cipher] [-D
sftp_server_path] [-F
ssh_config] [-i
identity_file] [-J
destination] [-l
limit] [-o
ssh_option] [-P
port] [-S
program] [-X
sftp_option] source ...
target |
scp
copies files between hosts on a
network.
scp
uses the SFTP protocol over a
ssh(1) connection for data transfer, and
uses the same authentication and provides the same security as a login
session.
scp
will ask for passwords or passphrases
if they are needed for authentication.
The source and target
may be specified as a local pathname, a remote host with optional path in
the form [user@]host:[path], or a URI in the form
scp://[user@]host[:port][/path]. Local file names
can be made explicit using absolute or relative pathnames to avoid
scp
treating file names containing ‘:’
as host specifiers.
When copying between two remote hosts, if the URI format is used,
a port cannot be specified on the
target if the -R
option is
used.
The options are as follows:
-3
-O
flag), this option selects batch mode for the
second host as scp
cannot ask for passwords or
passphrases for both hosts. This mode is the default.-4
scp
to use IPv4 addresses only.-6
scp
to use IPv6 addresses only.-A
-B
-C
-C
flag to
ssh(1) to enable compression.-c
cipher-D
sftp_server_path-F
ssh_configssh
. This option is directly passed to
ssh(1).-i
identity_file-J
destinationscp
connection to the jump host described by destination
and then establishing a TCP forwarding to the ultimate destination from
there. Multiple jump hops may be specified separated by comma characters.
This is a shortcut to specify a ProxyJump
configuration directive. This option is directly passed to
ssh(1).-l
limit-O
-o
ssh_optionssh
in the format
used in ssh_config(5). This is
useful for specifying options for which there is no separate
scp
command-line flag. For full details of the
options listed below, and their possible values, see
ssh_config(5).
-P
port-p
is already reserved for preserving the times
and mode bits of the file.-p
-q
-R
scp
there. This requires that
scp
running on the origin host can authenticate to
the destination host without requiring a password.-r
scp
follows symbolic links encountered in the tree traversal.-S
program-T
scp
checks that
the received filenames match those requested on the command-line to
prevent the remote end from sending unexpected or unwanted files. Because
of differences in how various operating systems and shells interpret
filename wildcards, these checks may cause wanted files to be rejected.
This option disables these checks at the expense of fully trusting that
the server will not send unexpected filenames.-v
scp
and
ssh(1) to print debugging messages about
their progress. This is helpful in debugging connection, authentication,
and configuration problems.-X
sftp_optionnrequests
=valuebuffer
=valueThe scp
utility exits 0 on success,
and >0 if an error occurs.
sftp(1), ssh(1), ssh-add(1), ssh-agent(1), ssh-keygen(1), ssh_config(5), sftp-server(8), sshd(8)
scp
is based on the rcp program in
BSD source code from the Regents of the University
of California.
Since OpenSSH 9.0, scp
has used the SFTP
protocol for transfers by default.
Timo Rinne
<tri@iki.fi>
Tatu Ylonen
<ylo@cs.hut.fi>
The legacy SCP protocol (selected by the
-O
flag) requires execution of the remote user's
shell to perform glob(3) pattern
matching. This requires careful quoting of any characters that have special
meaning to the remote shell, such as quote characters.
December 16, 2022 | macOS 15.0 |