scp - Secure Copy
Wenn man Dateien über ein Netzwerk kopieren will, kann man das nicht nur per FTP machen. Viele Linuxanwender wissen nicht, das dies auch sicherer über den SSH Dienst (der meist sowieso schon läuft) machbar ist.

SSH, die Secure Shell ist bei den meisten Distributionen von Anfang an installiert. SSH wird dazu benutzt eine sichere "Telnet"-Session zu öffnen um sich auf einem entfernten Rechner anzumelden und an einer einer Shell zu arbeiten. Anderst wie bei Telnet verschickt SSH die Daten nicht im Klartext sondern verschlüsselt.

Das SSH-Paket (OpenSSH) bietet allerdings noch eine Vielzahl anderer Möglichkeiten wie z.B. Tunneling oder Secure Copy. Secure Copy wird dazu benutzt Dateien über ein Netzwerk zu kopieren. Wie bei SSH werden auch hier die Daten (im Ggs. zu FTP und rcp) verschlüsselt übertragen, wodurch das Ausspähen der Daten wesentlich erschwert wird. Ein weitere Vorteil ist, das für scp keine zusätzlichen Dienste auf den teilnehmenden Rechnern vorhanden sein müssen. Lediglich SSH muss installiert und konfiguriert sein, was bei dem meinsten Linux-Systemen der Fall ist.


Anwendung

Die Syntax von scp ähnelt der von cp, mit dem Unterschied, dass man hier jeweils bei Ziel und Quelle noch Parameter angeben muss, um den jeweiligen Rechner im Netz zu identifizieren.
Ausserdem muss man sich bei den Rechnern auf die man übers Netz zugreift anmelden (wie auch bei SSH). Man benötigt dazu also einen gültigen SSH-Zugang auf dem entfernten Rechner.

Am deutlichsten wird die Benutzung durch ein Beispiel:

user@sonne> scp benutzer@192.168.0.1:/etc/inetd.conf /home/user/inetd.conf
Nach eingabe diese Kommandos erscheint folgende Passwortabfrage:
user@192.168.0.1's password:
Nach Eingabe des Passworts wird die Datei /etc/inetd.conf vom Rechner mit der IP 192.168.0.1 und dem Benutzernamen benutzer nach /home/user/inetd.conf auf dem lokalen Rechner kopiert.
 

Pfadangaben:

Wenn Ziel oder Quelle nicht lokal sind, sondern auf einem anderen Rechner liegen, erfolgt die Angabe folgendermaßen: benutzername@rechnername:/pfad/zur/datei

der Rechnername kann dabei über seine IP oder mit seinem Namen eingetragen werden. Danach kommt ein Doppelpunkt als Trennzeichen und dann der Pfad zur Datei auf dem entfernten Rechner.

Sowohl das Ziel, als auch die Quelle können auf diese Weise angegeben werden. Wenn Angaben zu Benutzer und Rechnername fehlen, wird angenommen, dass die Datei lokal zu finden ist.

nach oben

Beispiele


user@sonne> scp benutzer@server1:/server/*.html /home/user/

Kopiert sämtliche HTML-Dateien aus dem Verzeichnis /server vom Rechner server1 nach /home/user
 

user@sonne> scp -r ~/test root@server1:/home/

Kopiert das Verzeichnis "test" und alle Unterverzeichnisse aus dem Homeverzeichnis des users "user" nach /home/ auf dem Rechner "server1".
 

user@sonne> scp -P 8435 ~/test root@server1:/home/

Kopiert das Verzeichnis "test" und alle Unterverzeichnisse aus dem Homeverzeichnis des users "user" nach /home/ auf dem Rechner "server1".
Zusätzlich wird der Port angegeben, auf dem scp auf "server1" läuft.
 
Autor: Baitronic