Slik laster du ned en fil fra en server med SSH / SCP

Brukere kan sikkert laste ned en fil fra en hvilken som helst ekstern server med SSH ved hjelp av scp-verktøyet på kommandolinjen. I hovedsak betyr dette at du kan ha en fil lagret trygt på en ekstern server og overføre den til lokal lagring uten å utsette den filen til omverdenen, fordi scp tilbyr samme sikkerhetsnivå og krever samme autentisering som ssh gjør.


Sikker nedlasting av filer med scp er primært rettet mot avanserte brukere som bruker ssh og kommandolinjen jevnlig i enten macOS X, bsd eller linux. For de som har tilstrekkelig kommandolinjeopplevelse, er det enkelt å bruke ssh og scp for å laste ned eksterne filer, og etter at filoverføringen er fullført, vil den eksterne tilkoblingen ende. Dette gjør scp fortrinnsrett til sftp for rask nedlasting av filer, selv om du selvsagt kunne bruke sftp hvis du ville også.

Nedlasting av en fil fra ekstern server med SSH Secure Copy

Dette forutsetter at den eksterne serveren har ssh aktiv, og hvis du er i stand til å ssh inn i maskinen, vil det trolig også ha scp aktiv. Hvis du ikke har en ekstern server for å prøve dette, kan du prøve det ut mellom Mac OS X-maskiner eller med localhost hvis du aktiverer ssh og ekstern pålogging på Macen på forhånd.

Grunnleggende syntaks for å bruke scp (sikker kopi) for sikker nedlasting av eksterne filer, er som følger, erstatter bruker, server, bane og mål etter behov:

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

For eksempel, for å laste ned en fil til det lokale skrivebordet, kalt "filename.zip" som er plassert i hjemmekatalogen til ekstern bruker "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 du antar at autentisering er korrekt, vil målfilen umiddelbart begynne å laste ned til måldestinasjonen, og tilbyr en prosentvis fullføring, nedlastingshastighet og overgått overføringstid etter hvert som filnedlastingen fortsetter.

Som vanlig med kommandolinjen er det viktig å angi nøyaktig syntaks.

Hvis filen eller banen har en plass i navnet, kan du bruke sitater eller rømme på banen slik:

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

scp kan også brukes til å plassere en fil på en ekstern server sikkert ved å justere syntaxen, men vi fokuserer på å laste ned en fil i stedet for å laste opp filer her.

Hvis du er ny på ssh og teste dette ut selv, og hvis du aldri har koblet deg til den eksterne serveren før, blir du bedt om å bekrefte om du ønsker å faktisk koble til den eksterne maskinen. Dette ser ut som det, og krever et "ja" eller "nei" svar før nedlastingen begynner.
% 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
%

Igjen, forutsatt at forbindelsen er godkjent og innloggingen er vellykket, vil den eksterne filen lastes ned fra målserveren til lokalhosten.

Du kan også bruke scp til å laste ned flere filer fra en ekstern server:

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

Bruk av ssh for fjernfilnedlastinger som dette er mest hensiktsmessig for sikre overføringer som krever godkjenning. Sikker på at du også kan laste ned filer med curl eller wget fra eksterne servere, men filer som er tilgjengelige med curl og wget, er også tilgjengelige fra omverdenen, mens ssh og scp krever autentisering eller en nøkkel, og bruker 3DES-kryptering, noe som gjør det betydelig mer sikkert.