scp

Aus Foxwiki

topic kurze Beschreibung

Beschreibung

Das Kommandozeilenwerkzeug scp funktioniert in etwa so wie das normale Unix-Kommando cp, nur dass es über Systemgrenzen hinweg funktioniert.

  • Jedes Datei- oder Verzeichnisargument kann dabei optional, getrennt durch einen Doppelpunkt, durch einen vorangestellten Benutzer- oder Hostnamen ergänzt werden.
  • Dabei werden weggelassene Teile durch den aktuellen Benutzernamen, localhost oder das Homeverzeichnis (oder das aktuelle Verzeichnis) ergänzt, etwa so:
scp benutzerx@server1:datei1 datei2 benutzery@server2: 

In diesem Beispiel wurde die datei1 aus dem Homeverzeichnis von benutzerx auf server1 und die datei2 aus dem aktuellen Verzeichnis des lokalen Hosts in das Homeverzeichnis von benutzery auf server2 kopiert.

Der Befehl scp versteht auch einige von bekannte Optionen, bspw. -r für das rekursive Kopieren ganzer Verzeichnisbäume.

  • Bedauerlicherweise unterstützt scp aber nicht alle cp-Optionen, die für das exakte Klonen von Verzeichnissen, inkl.
  • aller Dateirechte und symbolischen Verknüpfungen notwendig sind.
  • Für die exakte Replikation sollte deswegen entweder das Werkzeug rsync -e ssh genutzt werden (man beachte die Handbuchseite zu diesem Tool) oder der oben schon genutzte Trick mit tar und einer Pipe.
ssh root@server 'cd verzeichnis; tar czvf - verz./dateien' | tar xzf -

Installation

Syntax

Parameter

Optionen

Umgebungsvariablen

Exit-Status

Konfiguration

Dateien

Anwendung

Sicherheit

Dokumentation

RFC

Man-Pages

Info-Pages

Siehe auch

Links

Projekt-Homepage

Weblinks

Manpage

BEZEICHNUNG

    scp — Sicheres Dateikopierprogramm der OpenSSH

ÜBERSICHT

    scp [-346ABCOpqRrsTv] [-c Chiffre] [-D SFTP-Server-Pfad] [-F SSH-Konfiguration] [-i Identitätsdatei] [-J Ziel] [-l Begrenzung] [-o SSH-Option] [-P
    Port] [-S Programm] Quelle … Ziel

BESCHREIBUNG

    scp kopiert Dateien zwischen Rechnern in einem Netz.
    Es verwendet ssh(1) zum Datentransfer und verwendet die gleiche Authentifizierung und stellt die gleiche Sicherheit wie eine Anmeldesitzung bereit.
    scp fragt nach Passwörtern oder Passphrasen, die für die Authentifizierung benötigt werden.
    Die Quelle und das Ziel können als lokale Pfadnamen, als ferner Rechner mit einem optionalen Pfad in der Form [Benutzer@]Rechner:[Pfad], oder als eine
    URI in der Form scp://[Benutzer@]Rechner[:Port][/Pfad]angegeben werden. Lokale Dateinamen können mit absoluten oder relativen Pfadnamen explizit ange‐
    geben werden, um zu vermeiden, dass scp Dateinamen, die »:« enthalten, als Angabe von Rechnernamen behandelt.
    Wenn zwischen fernen Rechnern kopiert und das URI-Format verwandt wird, dann kann Port nicht auf dem Ziel angegeben werden, falls die Option -R ver‐
    wandt wird.
    Folgende Optionen stehen zur Verfügung:
    -3      Kopien zwischen den zwei fernen Rechnern werden über den lokalen Rechner übertragen. Ohne diese Option werden die Daten direkt zwischen den
            zwei fernen Rechnern übertragen. Beachten Sie, dass beim Einsatz des veralteten SCP-Protokolls (mittels des Schalters -O), diese Option den
            Stapelverarbeitungsmodus für den zweiten Rechner auswählt, da scp nicht für beide Rechner nach Passwörtern oder Passphrasen fragen kann. Dieser
            Modus ist die Vorgabe.
    -4      Erzwingt, dass scp nur IPv4-Adressen verwendet.
    -6      Erzwingt, dass scp nur IPv6-Adressen verwendet.
    -A      Erlaubt die Weiterleitung von ssh-agent(1) an das ferne System. Standardmäßig wird der Authentifizierungsvermittler nicht weitergeleitet.
    -B      Wählt den Stapelverarbeitungsmodus (verhindert Nachfragen bezüglich Passwort oder Passphrase).
    -C      Aktiviert Komprimierung. Übergibt den Schalter -C an ssh(1), um Komprimierung zu aktivieren.
    -c Chiffre
            Wählt die zur Kryptografie des Datentransfers zu verwendende Chiffre. Diese Option wird direkt an ssh(1) übergeben.
    -D SFTP-Server-Pfad
            Bei der Verwendung der SFTP-Protokollunterstützung mittels -M erfolgt die Verbindung direkt zum lokalen SFTP-Serverprogramm statt zu einem fer‐
            nen über ssh(1). Diese Option kann zur Fehlersuche von Client und Server hilfreich sein.
    -F SSH-Konfiguration
            Gibt eine alternative benutzerbezogene Konfigurationsdatei für ssh an. Diese Option wird direkt an ssh(1) übergeben.
    -i Identitätsdatei
            Wählt die Datei, aus der die Identität (privater Schlüssel) für asymmetrische Authentifizierung gelesen wird. Diese Option wird direkt an
            ssh(1) übergeben.
    -J Ziel
            Verbindet sich mit dem Zielrechner, indem scp zuerst eine Verbindung zu dem in Ziel beschriebenen Sprungrechner macht und dann von dort aus
            eine TCP-Weiterleitung zum dem endgültigen Ziel vornimmt. Es können, durch Kommata getrennt, mehrere Sprungrechner angegeben werden. Dies ist
            eine Kurzform der Angabe einer Konfigurationsanweisung ProxyJump. Diese Option wird direkt an ssh(1) weitergegeben.
    -l Begrenzung
            Begrenzt die Bandbreite, angegeben in kBit/s.
    -O      Verwendet das veraltete SCP-Protokoll statt des SFTP-Protokolls zur Dateiübertragung. Für Server, die SFTP nicht implementieren, zur Rückwärts‐
            kompatibilität für bestimmte Dateinamen-Platzhalter-Muster und zum Expandieren von Pfaden mit dem Präfix ‘~’ für ältere SFTP-Server kann das
            Erzwingen des SCP-Protokolls notwendig sein.
    -o SSH-Option
            Kann zur Übergabe von Optionen an ssh verwandt werden. Dabei wird das in ssh_config(5) verwandte Format benutzt. Dies ist nützlich, um Optionen
            anzugeben, für die es keinen separaten Befehlszeilenschalter für scp gibt. Die vollständigen Details für die nachfolgend aufgeführten Optionen
            und ihre möglichen Werte finden Sie in ssh_config(5).
                  AddressFamily
                  BatchMode
                  BindAddress
                  BindInterface
                  CanonicalDomains
                  CanonicalizeFallbackLocal
                  CanonicalizeHostname
                  CanonicalizeMaxDots
                  CanonicalizePermittedCNAMEs
                  CASignatureAlgorithms
                  CertificateFile
                  CheckHostIP
                  Ciphers
                  Compression
                  ConnectionAttempts
                  ConnectTimeout
                  ControlMaster
                  ControlPath
                  ControlPersist
                  GlobalKnownHostsFile
                  GSSAPIAuthentication
                  GSSAPIDelegateCredentials
                  HashKnownHosts
                  Host
                  HostbasedAcceptedAlgorithms
                  HostbasedAuthentication
                  HostKeyAlgorithms
                  HostKeyAlias
                  Hostname
                  IdentitiesOnly
                  IdentityAgent
                  IdentityFile
                  IPQoS
                  KbdInteractiveAuthentication
                  KbdInteractiveDevices
                  KexAlgorithms
                  KnownHostsCommand
                  LogLevel
                  MACs
                  NoHostAuthenticationForLocalhost
                  NumberOfPasswordPrompts
                  PasswordAuthentication
                  PKCS11Provider
                  Port
                  PreferredAuthentications
                  ProxyCommand
                  ProxyJump
                  PubkeyAcceptedAlgorithms
                  PubkeyAuthentication
                  RekeyLimit
                  SendEnv
                  ServerAliveInterval
                  ServerAliveCountMax
                  SetEnv
                  StrictHostKeyChecking
                  TCPKeepAlive
                  UpdateHostKeys
                  User
                  UserKnownHostsFile
                  VerifyHostKeyDNS
    -P Port
            Gibt den Port an, über den mit dem fernen Rechner verbunden werden soll. Beachten Sie, dass diese Option mit einem großen »P« geschrieben wird,
            da -p bereits für das Beibehalten der Zeiten und Modus-Bit der Datei reserviert ist.
    -p      Behält die Änderungszeiten, Zugriffszeiten und Datei-Modus-Bit der Quelldatei bei.
    -q      Stiller Modus: Deaktiviert die Fortschrittsanzeige sowie alle Warnungen und Prüfmeldungen von ssh(1).
    -R      Kopien zwischen den zwei fernen Rechnern erfolgen durch Verbindung mit dem Ursprungsrechner und der Ausführung von scp dort. Dazu muss scp, der
            auf dem Ursprungsrechner läuft, in der Lage sein, sich beim Zielrechner authentifizieren zu können, ohne ein Passwort zu benötigen.
    -r      Kopiert rekursiv gesamte Verzeichnisse. Beachten Sie, dass scp beim Verzeichnisdurchlauf symbolischen Links folgt.
    -S Programm
            Name des Programms, das für verschlüsselte Verbindungen verwandt werden soll. Das Programm muss die Optionen von ssh(1) verstehen.
    -T      Deaktiviert strenge Dateinamenüberprüfung. Standardmäßig wird beim Kopieren von Dateien von einem fernen Rechner in ein lokales Verzeichnis
            durch scp geprüft, dass die empfangenen Dateinamen auf die auf der Befehlszeile angeforderten passen, um zu verhindern, dass die Gegenstelle
            unerwartete oder unerwünschte Dateien sendet. Aufgrund der Unterschiede, wie verschiedene Betriebssysteme und Shells Dateinamen-Platzhalter in‐
            terpretieren, könnten diese Überprüfungen dazu führen, dass erwünschte Dateien abgelehnt werden. Diese Option deaktiviert diese Überprüfungen
            auf Kosten der Vertrauenswürdigkeit des anderen Servers, dass dieser keine unerwarteten Dateinamen sendet.
    -v      Ausführlicher Modus. Führt dazu, dass scp und ssh(1) Fehlersuchmeldungen zu ihrem Fortschritt ausgeben. Dies ist bei der Fehlersuche in Verbin‐
            dungen, Authentifizierungen und Konfigurationsproblemen hilfreich.

EXIT-STATUS

    The scp utility exits 0 on success, and >0 if an error occurs.

SIEHE AUCH

    sftp(1), ssh(1), ssh-add(1), ssh-agent(1), ssh-keygen(1), ssh_config(5), sftp-server(8), sshd(8)

GESCHICHTE

    scp basiert auf dem Rcp-Programm des BSD -Quellcodes der Verwaltung der Universität von Kalifornien.
    Seit OpenSSH 8.8 verwendet scp standardmäßig das SFTP-Protokoll für Übertragungen.

AUTOREN

    Timo Rinne <tri@iki.fi> Tatu Ylonen <ylo@cs.hut.fi>

WARNUNGEN

    Das veraltete SCP-Protokoll (mit dem Schalter -O ausgewählt) benötigt die Ausführung der fernen Benutzer-Shell, um glob(3) -Mustervergleiche durchzu‐
    führen. Dies benötigt sorgfältiges Maskieren aller Zeichen, die für die ferne Shell eine besondere Bedeutung haben, wie das Anführungszeichen.

ÜBERSETZUNG

    Die deutsche Übersetzung dieser Handbuchseite wurde von Helge Kreutzmann <debian@helgefjell.de> erstellt.
    Diese Übersetzung ist Freie Dokumentation; lesen Sie die GNU General Public License Version 3: https://www.gnu.org/licenses/gpl-3.0.html oder neuer be‐
    züglich der Copyright-Bedingungen. Es wird KEINE HAFTUNG übernommen.
    Wenn Sie Fehler in der Übersetzung dieser Handbuchseite finden, schicken Sie bitte eine E-Mail an die Mailingliste der Übersetzer:
    debian-l10n-german@lists.debian.org .