[BACK]Return to scp.1 CVS log [TXT][DIR] Up to [local] / src / usr.bin / ssh

Annotation of src/usr.bin/ssh/scp.1, Revision 1.106

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