So laden Sie eine Datei von einem Server mit SSH / SCP

Benutzer können eine Datei sicher von einem Remote-Server mit SSH herunterladen, indem sie das Tool scp in der Befehlszeile verwenden. Im Wesentlichen bedeutet dies, dass Sie eine Datei sicher auf einem Remote-Server speichern und in den lokalen Speicher übertragen können, ohne diese Datei der Außenwelt zugänglich zu machen, da scp das gleiche Sicherheitsniveau bietet und die gleiche Authentifizierung wie ssh benötigt.


Sicheres Herunterladen von Dateien mit scp richtet sich vor allem an fortgeschrittene Benutzer, die ssh und die Befehlszeile regelmäßig in Mac OS X, BSD oder Linux verwenden. Für diejenigen, die über ausreichende Erfahrung in der Befehlszeile verfügen, ist die Verwendung von ssh und scp zum Herunterladen von Remote-Dateien einfach und bequem, nachdem die Dateiübertragung abgeschlossen ist, wird die Remote-Verbindung beendet. Dies macht scp für sftp für schnelle Dateidownloads bevorzugt, obwohl Sie natürlich sftp verwenden könnten, wenn Sie das auch möchten.

Herunterladen einer Datei vom Remote-Server mit SSH Secure Copy

Dies setzt voraus, dass der Remote-Server ssh aktiviert hat, und wenn Sie in der Lage sind, ssh in die Maschine einzuschalten, dann wird wahrscheinlich auch scp aktiv sein. Wenn Sie keinen Remote-Server zum Testen haben, können Sie es zwischen Mac OS X-Computern oder mit localhost ausprobieren, wenn Sie zuvor ssh und Remote Login auf dem Mac aktiviert haben.

Die grundlegende Syntax für die Verwendung von scp (Secure Copy) zum sicheren Herunterladen von Remote-Dateien lautet wie folgt und ersetzt Benutzer, Server, Pfad und Ziel entsprechend:

scp user@server:/path/to/remotefile.zip /Local/Target/Destination

Um beispielsweise eine Datei auf den lokalen Desktop namens "filename.zip" im Home-Verzeichnis des Remote-Benutzers "osxdaily" auf Server IP 192.168.0.45 herunterzuladen, lautet die Syntax wie folgt:

% scp [email protected]:filename.zip ~/Desktop/
Password:
filename.zip 100% 126 10.1KB/s 00:00
%

Unter der Annahme, dass die Authentifizierung korrekt ist, beginnt die Zieldatei sofort mit dem Download auf das Zielziel und bietet eine prozentuale Fertigstellung, Download-Geschwindigkeit und verstrichene Übertragungszeit, während der Datei-Download fortgesetzt wird.

Wie bei der Befehlszeile üblich, ist es wichtig, eine genaue Syntax anzugeben.

Wenn die Datei oder der Pfad ein Leerzeichen im Namen enthält, können Sie wie folgt Zitate verwenden oder auf dem Pfad flüchten:

scp [email protected]:"/some remote directory/filename.zip" ~/Desktop/

scp kann auch verwendet werden, um eine Datei sicher auf einem Remote-Server zu platzieren, indem die Syntax ebenfalls angepasst wird, aber wir konzentrieren uns darauf, eine Datei herunterzuladen, anstatt Dateien hier hochzuladen.

Wenn Sie ssh noch nicht kennen und dies selbst getestet haben und Sie noch nie eine Verbindung mit dem Remote-Server hergestellt haben, werden Sie aufgefordert, zu bestätigen, ob Sie eine Verbindung mit dem Remote-Computer herstellen möchten oder nicht. Dies sieht so aus und erfordert eine "Ja" oder "Nein" Antwort, bevor der Download beginnt.
% scp [email protected]:filename.zip ~/Desktop/
The authenticity of host '192.168.0.4 (192.168.0.4)' can't be established.
ECDSA key fingerprint is SHA256:31WalRuSLR83HALK83AKJSAkj972JJA878NJHAH3780.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added '192.168.0.4' (ECDSA) to the list of known hosts.
Password:
filename.zip 100% 126 0.1KB/s 00:00
%

Wenn die Verbindung genehmigt wird und die Anmeldung erfolgreich ist, wird die Remote-Datei erneut vom Zielserver auf den lokalen Host heruntergeladen.

Sie können scp auch verwenden, um mehrere Dateien von einem Remote-Server herunterzuladen:

scp user@host:/remote/path/\{file1.zip, file2.zip\} /Local/Path/

Die Verwendung von ssh für das Herunterladen von Remote-Dateien ist für sichere Übertragungen, die eine Authentifizierung erfordern, am besten geeignet. Natürlich können Sie auch Dateien mit curl oder wget von entfernten Servern herunterladen, aber Dateien, die mit curl und wget zugänglich sind, sind auch von der Außenwelt zugänglich, während ssh und scp eine Authentifizierung oder einen Schlüssel erfordern und die 3DES-Verschlüsselung verwenden sicherer.