Go to main content

man pages section 1: User Commands

Exit Print View

Updated: July 2017



scp - secure copy (remote file copy program)


scp [-pqrvBC46] [-F ssh_config] [-S program] [-P port] 
     [-c cipher] [-i identity_file] [-o ssh_option] 
     [ [user@]host1:]file1 []... [ [user@]host2:]file2


The scp utility copies files between hosts on a network. It uses ssh(1) for data transfer, and uses the same authentication and provides the same security as ssh(1). Unlike rcp(1), scp will ask for passwords or passphrases if they are needed for authentication.

Any file name may contain a host and user specification to indicate that the file is to be copied to/from that host. Copies between two remote hosts are permitted.


The following options are supported:


Forces scp to use IPv4 addresses only.


Forces scp to use IPv6 addresses only.


Selects batch mode. (Prevents asking for passwords or passphrases.)

–c cipher

Selects the cipher to use for encrypting the data transfer. This option is directly passed to ssh(1).


Compression enable. Passes the –C flag to ssh(1) to enable compression.

–F ssh_config

Specifies an alternative per-user configuration file for ssh(1.).

–i identity_file

Selects the file from which the identity (private key) for RSA authentication is read. This option is directly passed to ssh(1).

–o ssh_option

The given option is directly passed to ssh(1).


Preserves modification times, access times, and modes from the original file.

–P port

Specifies the port to connect to on the remote host. Notice that this option is written with a capital `P', because –p is already reserved for preserving the times and modes of the file in rcp(1).


Disables the progress meter.


Recursively copies entire directories.

–S program

Specifies the name of the program to use for the encrypted connection. The program must understand ssh(1) options.


Verbose mode. Causes scp and ssh(1) to print debugging messages about their progress. This is helpful in debugging connection, authentication, and configuration problems.


The following operands are supported:

host1, host2,...

The name(s) of the host from or to which the file is to be copied.

file1, file2,...

The file(s) to be copied.

Exit Status

The following exit values are returned:


Successful completion.


An error occurred.


See attributes(5) for descriptions of the following attributes:

Interface Stability

See Also

rcp(1), ssh(1), ssh-add(1), ssh-agent(1), ssh-keygen(1), sshd(1M), ssh_config(4), attributes(5)


Generally, use of scp with password or keyboard-interactive authentication method and two remote hosts does not work. It does work with either the pubkey, hostbased or gssapi-keyex authentication method. For the pubkey authentication method, either private keys not protected by a passphrase, or an explicit ssh agent forwarding have to be used. The gssapi-keyex authentication method works with the kerberos_v5 GSS-API mechanism, but only if the GSSAPIDelegateCredentials option is enabled.