====== Linux - Dateien via Secure Copy (SCP) übertragen ====== **Secure Copy** ist ein Protokoll zur Übertragung von Daten zwischen verschiedenen Rechnern über das Netzwerk oder Internet. Im Gegensatz zu **FTP** ist die Verbindung jedoch verschlüsselt. Als Programm zur Verbindung und Anmeldung wird **SSH** verwendet. \\ ===== Syntax ===== Die Syntax von Secure Copy (SCP) scp \\ ==== Optionen ==== | ** Option ** || ** Erläuterung ** | | -C | Compression | Aktiviert die Komprimierung via gzip | | -l | limit | Beschränkt die Bandbreite der Übertragung. Angabe in Kbit/s | | -p | preverses time | Überträgt die Zeitstempel der Original-Datei | | -P | Port | Angabe des SSH-Ports | | -q | quiet | Unterdrückt die Ausgabe während des Kopiervorganges | | -r | recursiv | Kopiert das Verzeichnis inklusive Dateien und Unterverzeichnisse | | -3 | third party | Die Dateien werden über den lokalen Rechner umgeleitet | ===== Beispiele ===== ==== Vom lokalen Rechner zum Remote-Rechner ==== Der folgende Befehl kopiert eine Datei vom lokalen Rechner, im aktuellen Verzeichnis auf einen entfernten Zielhost: \\ scp Quelle user@rechner:Verzeichnis/Ziel \\ \\ ** Beispiel ** \\ scp test.txt user@linux42.de:tmp/test.txt \\ Gibt man als Quelle einen ***** an, werden alle Dateien aus dem aktuellen Verzeichnis kopiert. Hierbei wird als Ziel nur das Zielverzeichnis angegeben.\\ ** Beispiel ** \\ scp * user@linux42.de:tmp/ \\ Man kann auch mehrere Dateien, durch Leerzeichen getrennt, angeben und diese in einer Aktion kopieren. Als Ziel gibt man in diesem Fall das Verzeichnis auf dem Remoterechner an: \\ scp Quelle1 Quelle2 Quelle3 user@rechner:Verzeichnis/ \\ \\ ** Beispiel ** \\ scp test1.txt test2.txt test3.txt user@linux42.de:tmp/ \\ Ein komplettes Verzeichnis, kann wie folgt übertragen werden. Bei größeren Verzeichnissen bietet es sich noch an die Komprimierung zu aktivieren: \\ scp -C -r Quell-Verzeichnis user@rechner:Ziel-Verzeichnis/ \\ \\ ** Beispiel ** \\ scp -C -r /home/user/daten user@linux42.de:tmp/ \\ \\ \\ ==== Vom Remote-Rechner zum lokalen Rechner ==== Um eine Datei von einem entfernten Rechner zu holen, steht einem folgende Befehl zur Verfügung: \\ scp user@rechner:Verzeichnis/Quelle Ziel \\ \\ ** Beispiel** \\ scp user@linux42.de:tmp/test.txt /tmp/test.txt \\ Mit der Angabe eines Punktes **.** als Ziel wird die Datei in den aktuellen Ordner kopiert, in dem man sich gerade befindet. ** Beispiel** \\ scp user@linux42.de:tmp/test.txt . \\ \\ \\ ==== Von Remote- zu Remote-Rechner ==== Es ist auch möglich vom lokalen Rechner aus, Dateien zwischen zwei entfernten Rechnern auszutauschen ohne diese über den lokalen Rechner zwischenspeichern zu müssen. Allerdings funktioniert dies nicht immer ganz reibungslos, außer es wird die Key-Authentifizierung ohne Passwort verwendet, was natürlich aus Sicherheitsgründen nicht empfehlenswert ist. Sollte es zu Problemen kommen, verwendet am beste die Option **-3**. Hier werden die Daten dann zwar nicht direkt kopiert sonder über euren Rechner geleitet, die funktioniert jedoch ohne Probleme: \\ scp user1@rechner1:Quelle user2@rechner2:Ziel \\ \\ ** Beispiel** \\ scp -3 user@linux42.de:tmp/test.txt user@polarwelt.de:/tmp/test.txt \\ ---- ===== Fazit ===== Mit ein bisschen Übung stellt **SecureCopy (SCP)** eine komfortable Möglichkeit zur Verfügung, Dateien schnell und sicher zu übertragen. ---- {{page>impressum:ausschluss#Haftungsausschluss}} ---- ~~DISCUSSION~~