Sådan hentes en fil fra en server med SSH / SCP

Brugere kan sikkert downloade en fil fra en fjernserver med SSH ved hjælp af scp-værktøjet på kommandolinjen. I det væsentlige betyder det, at du kan have en fil gemt sikkert på en fjernserver og overføre den til lokal opbevaring uden at skulle eksponere den pågældende fil til omverdenen, fordi scp tilbyder samme sikkerhedsniveau og kræver den samme autentificering, som ssh gør.


Sikker download af filer med scp er primært rettet mod avancerede brugere, der bruger ssh og kommandolinjen regelmæssigt i enten macOS x, bsd eller linux. For dem med en tilstrækkelig kommandolinieoplevelse er det nemt og nemt at bruge ssh og scp til at downloade fjernfiler, og efter at filoverførslen er afsluttet, afslutter fjernbetjeningen. Dette gør scp fortrinsvis til sftp for hurtig filnedlasting, selvom du selvfølgelig kunne bruge sftp, hvis du ville også.

Downloadning af en fil fra Remote Server med SSH Secure Copy

Dette forudsætter, at den eksterne server har ssh aktiv, og hvis du er i stand til at ssh ind i maskinen, så vil det sandsynligvis også have scp aktiv. Hvis du ikke har en ekstern server til at prøve det med, kan du prøve det mellem Mac OS X-maskiner eller med localhost, hvis du aktiverer ssh og Remote Login på Mac på forhånd.

Den grundlæggende syntaks, der bruger scp (sikker kopi) til sikkert at downloade fjernfiler, er som følger, idet du erstatter bruger, server, sti og mål efter behov:

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

For eksempel at downloade en fil til det lokale skrivebord, der hedder "filename.zip", der er placeret i hjemmappen til fjernbrugeren "osxdaily" på serveren IP 192.168.0.45, vil syntaksen være som følger:

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

Hvis man antager, at godkendelsen er korrekt, begynder målfilen øjeblikkeligt at blive downloadet til måldestinationen, idet der tilbydes en procentdel, downloadhastighed og forløbet overførselstid, som filen downloades.

Som sædvanlig med kommandolinjen er det vigtigt at angive nøjagtig syntaks.

Hvis filen eller stien har et mellemrum i navnet, kan du bruge citater eller undslippe på stien som sådan:

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

scp kan også bruges til sikkert at placere en fil på en fjernserver ved at justere syntaxen, men vi fokuserer på at downloade en fil i stedet for at uploade filer her.

Hvis du er ny til ssh og teste dette ud selv, og hvis du aldrig har forbindelse til den eksterne server før, bliver du bedt om at bekræfte, om du faktisk vil oprette forbindelse til fjernmaskinen. Dette ligner det, og kræver et ja eller nej svar, før downloadingen begynder.
% 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
%

Igen, hvis forbindelsen godkendes, og login er vellykket, downloades den eksterne fil fra målserveren til det lokalehost.

Du kan også bruge scp til at hente flere filer fra en fjernserver:

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

Brug af ssh til fjernfiloverførsler som denne er bedst egnet til sikre overførsler, der kræver godkendelse. Sikker på, at du også kan downloade filer med curl eller wget fra eksterne servere, men filer tilgængelige med curl og wget er også tilgængelige fra omverdenen, mens ssh og scp kræver godkendelse eller en nøgle og bruger 3DES-kryptering, hvilket gør det betydeligt mere sikker.