Dateien sicher übertragen Mit SCP in Linux
Die gebräuchlichste Methode, Terminalzugriff auf einen Remote-Linux-Computer zu erhalten, besteht in der Verwendung von Secure Shell (SSH). Um zu arbeiten, muss der Linux-Server einen SSH-Server (OpenSSH) ausführen und am anderen Ende benötigen Sie einen SSH-Client, etwa PuTTy in Windows oder das ssh
Befehlszeilentool auf Linux oder anderen Unix-ähnlichen Betriebssystemen wie FreeBSD .
Der Reiz von SSH besteht darin, dass die Verbindung zwischen den beiden Maschinen verschlüsselt ist. Dies bedeutet, dass Sie von jedem Ort der Welt aus sicher auf die Verbindung mit dem Server zugreifen können. Die wahre Stärke von SSH ist jedoch, dass die sichere Verbindung für mehr als nur Terminalzugriff genutzt werden kann. Zu seinen Verwendungsmöglichkeiten gehört die Fähigkeit, Dateien von und zu einem entfernten Server zu kopieren.
Um den Server vorzubereiten, müssen Sie das openssh-server
Paket installieren. Unter Ubuntu können Sie es über das Ubuntu Software Center oder über die Befehlszeile installieren:
sudo apt-get installieren openssh-server
Als Nächstes müssen Sie die IP-Adresse des Servers ermitteln. Unter Ubuntu wird die IP-Adresse im Netzwerk-Applet in den Systemeinstellungen angezeigt oder Sie verwenden die Befehlszeile:
ifconfig
eth0
in der Ausgabe nach der Zeile, die mit inet
unter eth0
. In diesem Beispiel lautet die IP-Adresse des Servers 192.168.1.101.
Um die SSH-Verbindung zu testen, wechseln Sie zum Linux-Clientcomputer und geben Sie Folgendes ein:
ssh 192.168.1.101
Wobei 192.168.1.101 die IP-Adresse des Servers ist. Geben Sie Ihren Benutzernamen und Ihr Passwort ein, wenn Sie dazu aufgefordert werden, und Sie werden mit dem Remote-Computer verbunden. Wenn Sie eine Frage bezüglich der "Authentizität des Hosts können nicht gestellt werden", antworten Sie einfach mit "Ja" auf die Frage. Es ist eine Sicherheitsüberprüfung, die sicherstellen soll, dass Sie sich mit Ihrem tatsächlichen Server verbinden und kein Betrüger.
Nachdem Sie die SSH-Verbindung getestet haben, können Sie mit dem Kopieren von Dateien zwischen den beiden Computern beginnen. Sicheres Kopieren wird mit dem scp
. Das grundlegende Format des scp
Befehls ist:
scp / Dateipfad / zu / Datei / zu / Benutzer kopieren @ IP-Adresse: localpath
Um beispielsweise die Datei "backup.zip" vom lokalen Rechner in den Ordner "backups" im Home-Verzeichnis des Benutzers "gary" auf dem Remote-Server mit der IP-Adresse 192.168.1.101 zu kopieren, verwenden Sie:
scp backup.zip [email protected]: Sicherungen /
Ähnlich wie bei der Verbindung mit ssh
werden Sie zur Eingabe des Passworts aufgefordert. Sie werden nicht zur Eingabe des Benutzernamens aufgefordert, der im Befehl angegeben wurde.
Sie können auch Platzhalter wie folgt verwenden:
scp * .zip [email protected]: Backups /
Um eine Datei vom Remote-Server auf den lokalen Rechner zu kopieren, kehren Sie einfach die Parameter um:
scp [email protected]: backups / backup.zip.
Beachten Sie den Punkt am Ende des Befehls, der "das aktuelle Verzeichnis" bedeutet, wie bei den Standardbefehlen cp
oder mv
.
Und das Gleiche mit Wild Cards:
scp [email protected]: backups / *. zip.
Um ein Verzeichnis rekursiv auf einen Remote-Server zu kopieren, verwenden Sie die Option -r
:
scp -r backups / [email protected]: Sicherungen /
Um ein Verzeichnis rekursiv vom Remote-Server auf den lokalen Rechner zu kopieren, verwenden Sie:
scp -r [email protected]: Backups /.
Wenn Sie die eingehenden Dateien nicht im aktuellen Verzeichnis ablegen möchten (beachten Sie den Punkt am Ende), können Sie einen anderen Verzeichnisnamen angeben:
scp -r [email protected]: Backups / Backups-from-server /
Fazit
scp
ist eine leistungsstarke und dennoch bequeme Möglichkeit, Dateien von und zu einem Server zu kopieren, ohne FTP oder andere File-Sharing-Server einrichten zu müssen. Es hat den zusätzlichen Bonus, dass es sicher ist (etwas, das nicht für eine Standard-FTP-Installation gesagt werden kann). Um weiter zu arbeiten, experimentieren Sie mit der Option -C
, die die Komprimierung während des Kopierens -l
oder mit der Option -l
die die Bandbreite während der Kopie begrenzt.