1.\" 2.\" scp.1 3.\" 4.\" Author: Tatu Ylonen <ylo@cs.hut.fi> 5.\" 6.\" Copyright (c) 1995 Tatu Ylonen <ylo@cs.hut.fi>, Espoo, Finland 7.\" All rights reserved 8.\" 9.\" Created: Sun May 7 00:14:37 1995 ylo 10.\" 11.\" $OpenBSD: scp.1,v 1.100 2021/08/11 14:07:54 naddy Exp $ 12.\" 13.Dd $Mdocdate: August 11 2021 $ 14.Dt SCP 1 15.Os 16.Sh NAME 17.Nm scp 18.Nd OpenSSH secure file copy 19.Sh SYNOPSIS 20.Nm scp 21.Op Fl 346ABCOpqRrsTv 22.Op Fl c Ar cipher 23.Op Fl D Ar sftp_server_path 24.Op Fl F Ar ssh_config 25.Op Fl i Ar identity_file 26.Op Fl J Ar destination 27.Op Fl l Ar limit 28.Op Fl o Ar ssh_option 29.Op Fl P Ar port 30.Op Fl S Ar program 31.Ar source ... target 32.Sh DESCRIPTION 33.Nm 34copies files between hosts on a network. 35.Pp 36It uses 37.Xr ssh 1 38for data transfer, and uses the same authentication and provides the 39same security as a login session. 40The scp protocol requires execution of the remote user's shell to perform 41.Xr glob 3 42pattern matching. 43.Pp 44.Nm 45will ask for passwords or passphrases if they are needed for 46authentication. 47.Pp 48The 49.Ar source 50and 51.Ar target 52may be specified as a local pathname, a remote host with optional path 53in the form 54.Sm off 55.Oo user @ Oc host : Op path , 56.Sm on 57or a URI in the form 58.Sm off 59.No scp:// Oo user @ Oc host Oo : port Oc Op / path . 60.Sm on 61Local file names can be made explicit using absolute or relative pathnames 62to avoid 63.Nm 64treating file names containing 65.Sq :\& 66as host specifiers. 67.Pp 68When copying between two remote hosts, if the URI format is used, a 69.Ar port 70cannot be specified on the 71.Ar target 72if the 73.Fl R 74option is used. 75.Pp 76The options are as follows: 77.Bl -tag -width Ds 78.It Fl 3 79Copies between two remote hosts are transferred through the local host. 80Without this option the data is copied directly between the two remote 81hosts. 82Note that, when using the legacy SCP protocol (the default), this option 83selects batch mode for the second host as 84.Nm 85cannot ask for passwords or passphrases for both hosts. 86This mode is the default. 87.It Fl 4 88Forces 89.Nm 90to use IPv4 addresses only. 91.It Fl 6 92Forces 93.Nm 94to use IPv6 addresses only. 95.It Fl A 96Allows forwarding of 97.Xr ssh-agent 1 98to the remote system. 99The default is not to forward an authentication agent. 100.It Fl B 101Selects batch mode (prevents asking for passwords or passphrases). 102.It Fl C 103Compression enable. 104Passes the 105.Fl C 106flag to 107.Xr ssh 1 108to enable compression. 109.It Fl c Ar cipher 110Selects the cipher to use for encrypting the data transfer. 111This option is directly passed to 112.Xr ssh 1 . 113.It Fl D Ar sftp_server_path 114When using the SFTP protocol support via 115.Fl M , 116connect directly to a local SFTP server program rather than a 117remote one via 118.Xr ssh 1 . 119This option may be useful in debugging the client and server. 120.It Fl F Ar ssh_config 121Specifies an alternative 122per-user configuration file for 123.Nm ssh . 124This option is directly passed to 125.Xr ssh 1 . 126.It Fl i Ar identity_file 127Selects the file from which the identity (private key) for public key 128authentication is read. 129This option is directly passed to 130.Xr ssh 1 . 131.It Fl J Ar destination 132Connect to the target host by first making an 133.Nm 134connection to the jump host described by 135.Ar destination 136and then establishing a TCP forwarding to the ultimate destination from 137there. 138Multiple jump hops may be specified separated by comma characters. 139This is a shortcut to specify a 140.Cm ProxyJump 141configuration directive. 142This option is directly passed to 143.Xr ssh 1 . 144.It Fl l Ar limit 145Limits the used bandwidth, specified in Kbit/s. 146.It Fl O 147Use the legacy SCP protocol for file transfers instead of the SFTP protocol. 148Forcing the use of the SCP protocol may be necessary for servers that do 149not implement SFTP or for backwards-compatibility for particular filename 150wildcard patterns. 151This mode is the default. 152.It Fl o Ar ssh_option 153Can be used to pass options to 154.Nm ssh 155in the format used in 156.Xr ssh_config 5 . 157This is useful for specifying options 158for which there is no separate 159.Nm scp 160command-line flag. 161For full details of the options listed below, and their possible values, see 162.Xr ssh_config 5 . 163.Pp 164.Bl -tag -width Ds -offset indent -compact 165.It AddressFamily 166.It BatchMode 167.It BindAddress 168.It BindInterface 169.It CanonicalDomains 170.It CanonicalizeFallbackLocal 171.It CanonicalizeHostname 172.It CanonicalizeMaxDots 173.It CanonicalizePermittedCNAMEs 174.It CASignatureAlgorithms 175.It CertificateFile 176.It CheckHostIP 177.It Ciphers 178.It Compression 179.It ConnectionAttempts 180.It ConnectTimeout 181.It ControlMaster 182.It ControlPath 183.It ControlPersist 184.It GlobalKnownHostsFile 185.It GSSAPIAuthentication 186.It GSSAPIDelegateCredentials 187.It HashKnownHosts 188.It Host 189.It HostbasedAcceptedAlgorithms 190.It HostbasedAuthentication 191.It HostKeyAlgorithms 192.It HostKeyAlias 193.It Hostname 194.It IdentitiesOnly 195.It IdentityAgent 196.It IdentityFile 197.It IPQoS 198.It KbdInteractiveAuthentication 199.It KbdInteractiveDevices 200.It KexAlgorithms 201.It KnownHostsCommand 202.It LogLevel 203.It MACs 204.It NoHostAuthenticationForLocalhost 205.It NumberOfPasswordPrompts 206.It PasswordAuthentication 207.It PKCS11Provider 208.It Port 209.It PreferredAuthentications 210.It ProxyCommand 211.It ProxyJump 212.It PubkeyAcceptedAlgorithms 213.It PubkeyAuthentication 214.It RekeyLimit 215.It SendEnv 216.It ServerAliveInterval 217.It ServerAliveCountMax 218.It SetEnv 219.It StrictHostKeyChecking 220.It TCPKeepAlive 221.It UpdateHostKeys 222.It User 223.It UserKnownHostsFile 224.It VerifyHostKeyDNS 225.El 226.It Fl P Ar port 227Specifies the port to connect to on the remote host. 228Note that this option is written with a capital 229.Sq P , 230because 231.Fl p 232is already reserved for preserving the times and modes of the file. 233.It Fl p 234Preserves modification times, access times, and modes from the 235original file. 236.It Fl q 237Quiet mode: disables the progress meter as well as warning and diagnostic 238messages from 239.Xr ssh 1 . 240.It Fl R 241Copies between two remote hosts are performed by connecting to the origin 242host and executing 243.Nm 244there. 245This requires that 246.Nm 247running on the origin host can authenticate to the destination host without 248requiring a password. 249.It Fl r 250Recursively copy entire directories. 251Note that 252.Nm 253follows symbolic links encountered in the tree traversal. 254.It Fl S Ar program 255Name of 256.Ar program 257to use for the encrypted connection. 258The program must understand 259.Xr ssh 1 260options. 261.It Fl s 262Use the SFTP protocol for file transfers instead of the legacy SCP protocol. 263Using SFTP avoids invoking a shell on the remote side and provides 264more predictable filename handling, as the SCP protocol 265relied on the remote shell for expanding 266.Xr glob 3 267wildcards. 268.Pp 269A near-future release of OpenSSH will make the SFTP protocol the default. 270This option will be deleted before the end of 2022. 271.It Fl T 272Disable strict filename checking. 273By default when copying files from a remote host to a local directory 274.Nm 275checks that the received filenames match those requested on the command-line 276to prevent the remote end from sending unexpected or unwanted files. 277Because of differences in how various operating systems and shells interpret 278filename wildcards, these checks may cause wanted files to be rejected. 279This option disables these checks at the expense of fully trusting that 280the server will not send unexpected filenames. 281.It Fl v 282Verbose mode. 283Causes 284.Nm 285and 286.Xr ssh 1 287to print debugging messages about their progress. 288This is helpful in 289debugging connection, authentication, and configuration problems. 290.El 291.Sh EXIT STATUS 292.Ex -std scp 293.Sh SEE ALSO 294.Xr sftp 1 , 295.Xr ssh 1 , 296.Xr ssh-add 1 , 297.Xr ssh-agent 1 , 298.Xr ssh-keygen 1 , 299.Xr ssh_config 5 , 300.Xr sftp-server 8 , 301.Xr sshd 8 302.Sh HISTORY 303.Nm 304is based on the rcp program in 305.Bx 306source code from the Regents of the University of California. 307.Sh AUTHORS 308.An Timo Rinne Aq Mt tri@iki.fi 309.An Tatu Ylonen Aq Mt ylo@cs.hut.fi 310