Hoe een bestand van een server met SSH / SCP te downloaden

Gebruikers kunnen veilig een bestand downloaden van elke externe server met SSH door de scp-tool op de opdrachtregel te gebruiken. In wezen betekent dit dat je een bestand veilig op een externe server kunt opslaan en naar lokale opslag kunt overbrengen zonder dat bestand aan de buitenwereld bloot te stellen, omdat scp hetzelfde beveiligingsniveau biedt en dezelfde verificatie vereist als ssh.


Het veilig downloaden van bestanden met scp is vooral gericht op ervaren gebruikers die ssh en de commandoregel regelmatig gebruiken in macOS X, bsd of linux. Voor diegenen met voldoende ervaring met de commandoregel is het gebruik van ssh en scp om externe bestanden te downloaden eenvoudig en, handig, nadat de bestandsoverdracht is voltooid, zal de externe verbinding eindigen. Dit maakt scp een voorkeur voor sftp voor snelle bestandsdownloads, hoewel je natuurlijk ook sftp zou kunnen gebruiken als je dat ook zou willen.

Een bestand downloaden van Remote Server met SSH Secure Copy

Dit veronderstelt dat de externe server ssh actief heeft, en als je in staat bent om in de machine te sshtnen, dan zal het waarschijnlijk ook scp actief zijn. Als je geen externe server hebt om dit uit te proberen, kun je het uitproberen tussen Mac OS X-machines of met localhost als je ssh en Remote Login op de Mac van tevoren hebt ingeschakeld.

De basissyntaxis om scp (beveiligde kopie) te gebruiken voor het veilig downloaden van externe bestanden is als volgt, waarbij gebruiker, server, pad en doel worden vervangen zoals aangewezen:

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

Als u bijvoorbeeld een bestand wilt downloaden naar de lokale computer met de naam "filename.zip" in de basismap van externe gebruiker "osxdaily" op server-IP 192.168.0.45, zou de syntaxis als volgt zijn:

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

Ervan uitgaande dat de authenticatie correct is, zal het doelbestand onmiddellijk beginnen te downloaden naar de doelbestemming, waarbij een voltooiingspercentage, downloadsnelheid en verstreken overdrachtstijd worden aangeboden naarmate het downloaden van het bestand plaatsvindt.

Zoals gebruikelijk bij de opdrachtregel, is het belangrijk om de exacte syntaxis te specificeren.

Als het bestand of pad een spatie in de naam heeft, kunt u citaten gebruiken of op het pad ontsnappen zoals:

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

scp kan ook worden gebruikt om een ​​bestand veilig op een externe server te plaatsen door de syntaxis ook aan te passen, maar we richten ons op het downloaden van een bestand in plaats van het uploaden van bestanden hier.

Als je nieuw bent bij SSH en dit zelf hebt getest en als je nog nooit eerder verbinding met de externe server hebt gemaakt, wordt je gevraagd om te bevestigen of je daadwerkelijk verbinding wilt maken met de externe computer. Dit ziet er als volgt uit en vereist een 'ja' of 'nee' antwoord voordat de download begint.
% 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
%

Nogmaals, ervan uitgaande dat de verbinding goed is en de login succesvol is, zal het externe bestand van de doelserver naar de localhost worden gedownload.

U kunt scp ook gebruiken om meerdere bestanden van een externe server te downloaden:

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

Het gebruik van ssh voor het op afstand downloaden van bestanden is het meest geschikt voor beveiligde overdrachten die verificatie vereisen. Natuurlijk kun je ook bestanden downloaden met curl of wget van externe servers, maar bestanden die toegankelijk zijn met curl en wget zijn ook meestal toegankelijk vanuit de buitenwereld, terwijl ssh en scp authenticatie of een sleutel vereisen en 3DES-codering gebruiken, waardoor het aanzienlijk wordt veiliger.