scp — OpenSSH sichere Dateikopie
SYNOPSIS
scp [-346ABCOpqRrsTv] [-c chiffre] [-D sftp_server_pfad] [-F ssh_config] [-i identitätsdatei]
[-J ziel] [-l limit] [-o ssh_option] [-P port] [-S programm] [-X sftp_option] quelle
... ziel
BESCHREIBUNG
scp kopiert Dateien zwischen Hosts in einem Netzwerk.
scp verwendet das SFTP-Protokoll über eine ssh(1)-Verbindung für die Datenübertragung und bietet die gleiche Authentifizierung und Sicherheit wie eine Login-Sitzung.
scp fordert bei Bedarf Passwörter oder Passphrasen zur Authentifizierung an.
Die Quelle und das Ziel können als lokaler Pfadname, ein Remote-Host mit optionalem Pfad in der Form [benutzer@]host:[pfad] oder eine URI in der Form scp://[benutzer@]host[:port][/pfad] angegeben werden. Lokale Dateinamen können durch die Verwendung von absoluten oder relativen Pfadnamen explizit gemacht werden, um zu verhindern, dass scp Dateinamen, die ein ‘:’ enthalten, als Hostspezifizierer behandelt.
Beim Kopieren zwischen zwei Remote-Hosts kann, wenn das URI-Format verwendet wird, kein Port auf dem Ziel angegeben werden, wenn die Option -R verwendet wird.
Die Optionen sind wie folgt:
-3 Kopien zwischen zwei Remote-Hosts werden über den lokalen Host übertragen. Dieser Modus ist die Standardeinstellung, siehe aber auch die Option -R zum Kopieren von Daten direkt zwischen zwei Remote-Hosts.
Beachten Sie, dass bei Verwendung des Legacy-SCP-Protokolls (über das -O-Flag) diese Option den Batch-Modus für den zweiten Host auswählt, da scp keine Passwörter oder Passphrasen für beide Hosts abfragen kann.
-4 Erzwingt, dass scp nur IPv4-Adressen verwendet.
-6 Erzwingt, dass scp nur IPv6-Adressen verwendet.
-A Ermöglicht die Weiterleitung von ssh-agent(1) zum Remote-System. Standardmäßig wird keine Authentifizierungsagent-Weiterleitung verwendet.
-B Wählt den Batch-Modus (verhindert die Abfrage von Passwörtern oder Passphrasen).
-C Komprimierung aktivieren. Übergibt das Flag -C an [ssh]({filename}../../ssh)(1), um die Komprimierung zu aktivieren.
-c chiffre
Wählt die Chiffre zur Verschlüsselung der Datenübertragung aus. Diese Option wird direkt an ssh(1) übergeben.
-D sftp_server_pfad
Verbindet sich direkt mit einem lokalen SFTP-Serverprogramm anstelle eines Remote-Servers über ssh(1). Diese Option kann beim Debuggen des Clients und Servers nützlich sein.
-F ssh_config
Gibt eine alternative, benutzerspezifische Konfigurationsdatei für ssh an. Diese Option wird direkt an ssh(1) übergeben.
-i identitätsdatei
Wählt die Datei aus, aus der die Identität (privater Schlüssel) für die öffentliche Schlüsselauthentifizierung gelesen wird. Diese Option wird direkt an ssh(1) übergeben.
-J ziel
Verbindet sich mit dem Zielhost, indem zuerst eine scp-Verbindung zum Sprunghost hergestellt wird, der durch Ziel beschrieben wird, und dann von dort eine TCP-Weiterleitung zum endgültigen Ziel eingerichtet wird. Mehrere Sprunghops können durch Kommas getrennt angegeben werden. Dies ist eine Abkürzung, um eine ProxyJump-Konfigurationsdirektive anzugeben. Diese Option wird direkt an ssh(1) übergeben.
-l limit
Begrenzt die verwendete Bandbreite, angegeben in Kbit/s.
-O Verwendet das ältere SCP-Protokoll für Dateiübertragungen anstelle des SFTP-Protokolls. Die
Erzwingung der Verwendung des SCP-Protokolls kann für Server erforderlich sein, die SFTP nicht implementieren, für
die Rückwärtskompatibilität mit bestimmten Dateinamen-Wildcard-Mustern und für die Erweiterung von Pfaden
mit einem Präfix '~' für ältere SFTP-Server.
-o ssh_option
Kann verwendet werden, um Optionen an ssh im in ssh_config(5) verwendeten Format zu übergeben. Dies ist nützlich, um Optionen anzugeben, für die es keine separate scp-Befehlszeilenoption gibt. Für vollständige Details zu den unten aufgeführten Optionen und ihren möglichen Werten, siehe ssh_config(5).
OPTIONEN
AddKeysToAgent
AddressFamily
BatchMode
BindAddress
BindInterface
CASignatureAlgorithms
CanonicalDomains
CanonicalizeFallbackLocal
CanonicalizeHostname
CanonicalizeMaxDots
CanonicalizePermittedCNAMEs
CertificateFile
ChannelTimeout
CheckHostIP
Ciphers
ClearAllForwardings
Compression
ConnectTimeout
ConnectionAttempts
ControlMaster
ControlPath
ControlPersist
DynamicForward
EnableEscapeCommandline
EnableSSHKeysign
EscapeChar
ExitOnForwardFailure
FingerprintHash
ForkAfterAuthentication
ForwardAgent
ForwardX11
ForwardX11Timeout
ForwardX11Trusted
GSSAPIAuthentication
GSSAPIDelegateCredentials
GatewayPorts
GlobalKnownHostsFile
HashKnownHosts
Host
HostKeyAlgorithms
HostKeyAlias
HostbasedAcceptedAlgorithms
HostbasedAuthentication
Hostname
IPQoS
IdentitiesOnly
IdentityAgent
IdentityFile
IgnoreUnknown
Include
KbdInteractiveAuthentication
KbdInteractiveDevices
KexAlgorithms
KnownHostsCommand
LocalCommand
LocalForward
LogLevel
LogVerbose
MACs
NoHostAuthenticationForLocalhost
NumberOfPasswordPrompts
ObscureKeystrokeTiming
PKCS11Provider
PasswordAuthentication
PermitLocalCommand
PermitRemoteOpen
Port
PreferredAuthentications
ProxyCommand
ProxyJump
ProxyUseFdpass
PubkeyAcceptedAlgorithms
PubkeyAuthentication
RekeyLimit
RemoteCommand
RemoteForward
RequestTTY
RequiredRSASize
RevokedHostKeys
SecurityKeyProvider
SendEnv
ServerAliveCountMax
ServerAliveInterval
SessionType
SetEnv
StdinNull
StreamLocalBindMask
StreamLocalBindUnlink
StrictHostKeyChecking
SyslogFacility
TCPKeepAlive
Tag
Tunnel
TunnelDevice
UpdateHostKeys
User
UserKnownHostsFile
VerifyHostKeyDNS
VisualHostKey
XAuthLocation
-P port
Gibt den Port an, mit dem auf dem Remote-Host verbunden werden soll. Beachten Sie, dass diese Option mit einem Großbuchstaben 'P' geschrieben ist, da -p bereits für die Beibehaltung der Zeitstempel und Modusbits der Datei reserviert ist.
-p Behält die Änderungszeiten, Zugriffszeiten und Dateimodusbits der Quelldatei bei.
-q Leiser Modus: deaktiviert den Fortschrittsbalken sowie Warn- und Diagnosemeldungen von [ssh]({filename}../../ssh)(1).
-R Kopien zwischen zwei Remote-Hosts werden standardmäßig über den lokalen Host übertragen. Diese
Option kopiert stattdessen zwischen zwei Remote-Hosts, indem eine Verbindung zum Ursprungsserver hergestellt und scp dort ausgeführt wird. Dies erfordert, dass scp, das auf dem Ursprungsserver ausgeführt wird, sich bei
dem Zielserver authentifizieren kann, ohne dass ein Passwort erforderlich ist.
-r Rekursives Kopieren ganzer Verzeichnisse. Beachten Sie, dass `scp` symbolische Links während der
Verzeichnisdurchquerung berücksichtigt.
-S programm
Name des Programms, das für die verschlüsselte Verbindung verwendet werden soll. Das Programm muss die ssh(1)- Optionen verstehen.
-T Deaktiviert die strenge Dateinamenprüfung. Standardmäßig überprüft `scp` beim Kopieren von Dateien von einem Remote-Host in ein
lokales Verzeichnis, ob die empfangenen Dateinamen mit den in der Befehlszeile angeforderten übereinstimmen, um zu verhindern, dass der Remote-Host unerwartete oder unerwünschte Dateien sendet.
Aufgrund von Unterschieden in der Art und Weise, wie verschiedene Betriebssysteme und Shells Dateinamens-Wildcards interpretieren, können diese Prüfungen dazu führen, dass gewünschte Dateien abgelehnt werden. Diese Option deaktiviert diese Prüfungen, was bedeutet, dass dem Server uneingeschränkt vertraut wird.
-v Ausführlicher Modus. Verursacht, dass `scp` und [ssh]({filename}../../ssh)(1) Debug-Meldungen über ihren Fortschritt ausgeben.
Dies ist hilfreich bei der Fehlersuche bei Verbindungs-, Authentifizierungs- und Konfigurationsproblemen.
-X sftp_option
Gibt eine Option an, die Aspekte des SFTP-Protokollverhaltens steuert. Die gültigen Optionen sind:
nrequests=wert
Steuert, wie viele gleichzeitige SFTP-Lese- oder Schreibanforderungen zu einem bestimmten Zeitpunkt während eines Downloads oder Uploads aktiv sein können. Standardmäßig können 64 Anfragen gleichzeitig aktiv sein.
buffer=wert
Steuert die maximale Puffergröße für einen einzelnen SFTP-Lese-/Schreibvorgang, der während eines Downloads oder Uploads verwendet wird. Standardmäßig wird ein 32-KB-Puffer verwendet.
RÜCKGABESTATUS
Das Dienstprogramm scp gibt 0 bei Erfolg und >0 bei einem Fehler zurück.
SIEHE AUCH
sftp(1), ssh(1), ssh-add(1), ssh-agent(1), ssh-keygen(1), ssh_config(5), sftp-server(8), sshd(8)
HISTORIE
`scp` basiert auf dem `rcp`-Programm aus dem BSD-Quellcode der Regents der University of California.
Seit OpenSSH 9.0 verwendet scp standardmäßig das SFTP-Protokoll für Übertragungen.
AUTOREN
Timo Rinne <_> Tatu Ylonen <_>
HINWEISE
Das ältere SCP-Protokoll (ausgewählt durch die Option -O) erfordert die Ausführung der Shell des Remote-Benutzers, um die Glob(3)-Mustererkennung durchzuführen. Dies erfordert eine sorgfältige Verwendung von Anführungszeichen für alle Zeichen, die eine besondere Bedeutung für die Remote-Shell haben, wie z. B. Anführungszeichen.