| |
|
|
| |

scp - Secure copy
Gestern haben wir gelernt, wie man mit dem ssh-Befehl und der
Ausgabeumleitung auch Dateien zwischen Computern kopieren kann. Dafür gibt
es aber eine einfachere Möglichkeit: "scp". scp ist so ähnlich wie
cp:
cp kopiert halt nur auf einem einzigen Computer und kann keine Dateien zwischen
Computern hin und her kopieren (mit der Ausnahme dass es die
Möglichkeit gibt Laufwerke von anderen Computern so aussehen zu lassen,
als wären sie Teil des eingenen Computers (z.B. mittels NFS). Wenn
man das gemacht hat, kann man natürlich genauso mit cp kopieren, wie auf
lokale Dateien..).
Um dieses Problem zu beheben hat man in den Anfangstagen von Unix das
Programm "rcp" (für "remote copy") geschrieben. Rcp hatte aber zahlreiche
Sicherheitsprobleme und hat auch die Dateien unverschlüsselt übers
Netz übertragen. Die verbesserte Variante, die heute hauptsächlich
im Einsatz ist, ist scp. das s steht hier für "secure".
Der unsichere Vorgänger zu ssh war übrigens auch "rsh" (remote shell).
Das wird aber praktisch nicht mehr verwendet.
scp erlaubt es so ähnlich wie cp zu kopieren, nur kann von/auf andere
Computer kopiert werden. z.b:
scp blabla.txt maxmeier@irgendwo.at:public_html/blibli.txt
würde die Datei blabla.txt, die sich lokal in deinem aktüllen
Verzeichnis befindet auf den Rechner "irgendwo.at" kopieren, und zwar ins
Verzeichnis
/home/maxmeier/public_html/ unter dem namen "blibli.txt"
Vorausgesetzt das Verzeichnis public_html existiert im Homeverzeichniss von
maxmeier und maxmeier hat dort Schreibrechte.
Die Adresse setzt sich also aus 3 Teilen zusammen:
username@hostname:pfadname
Das username@ kannst du, wie bei ssh, weglassen, wenn du auf beiden Seiten den
gleichen Usernamen hast.
scp blabla.txt mond.at:.
Der : trennt Hostname und Pfadname. Hostname ist der Name des Computers auf
den du hinkopieren willst. Pfadname ist der Name des Verzeichnisses oder der
Datei, auf die du kopieren willst. Beginnt der Name nicht mit einem / so ist
er relativ zum Homeverzeichniss des jeweiligen Users gemeint. Obiges Beispiel:
würde also die Datei blabla.txt in dein Homeverzeichnis auf mond.at
kopieren ( . steht immer für das aktülle Verzeichnis und das ist
in diesem Fall dein Homeverzeichnis..)
Das kopieren geht natürlich auch in die andere Richtung:
scp maxmeier@irgendwo.at:/etc/apt/* /tmp
würde alle Dateien von "irgendwo.at" aus /etc/apt/ auf deinen Compi ins
Verzeichniss /tmp kopieren.
um Verzeichnisse inklusive ihrer Unterverzeichnisse und aller Files
(sozusagen "rekursiv") zu kopieren hat scp die Option -r (rekursiv)
scp -r urlaubsfotos a7711222@unet.univie.ac.at:fotos
würde alles unterhalb des Verzeichnisses "urlaubsfotos" vom lokalen
Computer auf einen Studentenaccount der Uni ins Verzeichnis Fotos
kopieren. (Das bei -r angelegt wird falls es noch nicht existiert).
Wenn du auf einem Windows Computer bist, gibts dort das freie Programm pscp,
das zum putty gehört. Falls es nicht installiert ist, kannst du auf
Google nach putty suchen und dann das Program pscp.exe ins
Windows-Verzeichnis speichern...).
pscp funktioniert genau wie scp, nur halt für Windows.
(d.h du musst es in der DOS-Eingabeaufforderung aufrufen)
Die im Zuge von "ssh" erklärten Sicherheitsrisiken gelten in gleicher
Weise natürlich auch für scp.
EXERCISES:
Verwende den scp Befehl um Verzeichnisse und Dateien von verschiedenen
Computern auf andere zu kopieren.
REFERENCES:
man scp
Putty Download
|
|
| |
|
|
|