Sikker kopieringsprotokoll - Secure copy protocol

scp
Utvikler (er) OpenSSH -prosjektet
Oppbevaringssted github .com /openssh /openssh-portable /
Skrevet inn C
Operativsystem Kryssplattform
Type Kommando
Nettsted www .openssh .com

Secure copy protocol ( SCP ) er et middel for sikker overføring av datafiler mellom en lokal vert og en ekstern vert eller mellom to eksterne verter. Den er basert på Secure Shell (SSH) -protokollen. "SCP" refererer vanligvis til både Secure Copy Protocol og selve programmet. I følge OpenSSH -utviklere i april 2019 er SCP utdatert, ufleksibel og ikke lett fikset; de anbefaler bruk av mer moderne protokoller som sftp og rsync for filoverføring.

Secure Copy Protocol

Den SCP er en nettverksprotokoll , basert på BSD RCP -protokollen, som støtter filoverføring mellom verter på et nettverk. SCP bruker Secure Shell (SSH) for dataoverføring og bruker de samme mekanismene for autentisering, og sikrer dermed ektheten og konfidensialiteten til dataene under transport . En klient kan sende (laste opp) filer til en server, eventuelt inkludert deres grunnleggende attributter (tillatelser, tidsstempler). Klienter kan også be om filer eller kataloger fra en server (nedlasting). SCP kjører som standard over TCP -port 22. Som RCP er det ingen RFC som definerer detaljene i protokollen.

Funksjon

Normalt starter en klient en SSH -tilkobling til den eksterne verten, og ber om at en SCP -prosess startes på den eksterne serveren. Den eksterne SCP -prosessen kan operere i en av to moduser:

  • kildemodus, som leser filer (vanligvis fra disk) og sender dem tilbake til klienten, eller
  • vaskemodus, som godtar filene som sendes av klienten og skriver dem (vanligvis til disk) på den eksterne verten.

For de fleste SCP -klienter utløses kildemodus generelt med -fflagget (fra), mens synkemodus utløses med -t(til). Disse flaggene brukes internt og er ikke dokumentert utenfor SCP -kildekoden.

Fjern til ekstern modus

Tidligere, i fjern-til-ekstern sikker kopi, åpner SCP-klienten en SSH-tilkobling til kildeverten og ber om at den igjen åpner en SCP-tilkobling til destinasjonen. (Fjern-til-ekstern modus støttet ikke åpning av to SCP-tilkoblinger og bruk av den opprinnelige klienten som mellomledd). Det er viktig å merke seg at SCP ikke kan brukes til eksternt å kopiere fra kilden til destinasjonen når den opererer i passord eller tastaturinteraktiv autentiseringsmodus, da dette ville avsløre destinasjonsserverens autentiseringslegitimasjon for kilden. Det er imidlertid mulig med nøkkelbaserte eller GSSAPI- metoder som ikke krever brukerinngang.

Nylig støtter ekstern-til-ekstern modus ruting av trafikk gjennom klienten som stammer fra overføringen, selv om det er en tredjepart til overføringen. På denne måten må autorisasjonslegitimasjon bare ligge hos den opprinnelige klienten, tredjepart.

Problemer med bruk av snakkesalige skallprofiler

SCP forventer ikke at tekst kommuniserer med ssh -påloggingsskallet. Tekst som overføres på grunn av ssh -profilen (f.eks. Ekko "Welcome" i .bashrc -filen) tolkes som en feilmelding, og en null linje (ekko "") får scp til å gå i lås og vente på at feilmeldingen skal fullføres.

Sikker kopi (eksternt program for kopiering av filer)

Den SCP programmet er et verktøy implementere SCP protokollen som en tjeneste daemon eller klient. Det er et program for å utføre sikker kopiering.

Det kanskje mest brukte SCP -programmet er OpenSSH -kommandolinjeprogrammet scp , som finnes i de fleste SSH -implementeringer. Den scpprogrammet er sikker analog av rcpkommandoen. Det scpprogrammet må være en del av alle SSH-servere som ønsker å gi SCP service, som scpfungerer som SCP serveren også.

Noen SSH -implementeringer gir scp2programmet, som bruker SFTP -protokollen i stedet for SCP, men gir det samme kommandolinjegrensesnittet som scp. scper da typisk en symbolsk lenke til scp2.

Syntaks

Vanligvis er en syntaks for scpprogrammet som syntaksen til cp(kopi) :

Kopiere lokal fil til en ekstern vert:

scp LocalSourceFile user@remotehost:directory/TargetFile

Kopiere fil fra ekstern vert og kopiere mappe fra ekstern vert (med -r -bryter):

scp user@remotehost:directory/SourceFile LocalTargetFile
scp -r user@host:directory/SourceFolder LocalTargetFolder

Vær oppmerksom på at hvis den eksterne verten bruker en annen port enn standarden 22, kan den spesifiseres i kommandoen. For eksempel, kopiere en fil fra verten:

scp -P 2222 user@host:directory/SourceFile TargetFile

Andre klienter

Siden Secure Copy Protocol bare implementerer filoverføringer, er GUI SCP -klienter sjeldne, ettersom implementering krever ytterligere funksjonalitet ( minst katalogoppføring ). For eksempel er WinSCP standard for SFTP -protokollen. Selv når de opererer i SCP -modus, er klienter som WinSCP vanligvis ikke rene SCP -klienter, ettersom de må bruke andre midler for å implementere tilleggsfunksjonaliteten (som lskommandoen ). Dette medfører igjen plattformavhengighetsproblemer.

Mer omfattende verktøy for å administrere filer over SSH er SFTP -klienter.

Sikkerhet

I 2019 ble sårbarhet CVE - 2019-6111 kunngjort relatert til openssh SCP -verktøyet og protokollen som tillater brukere å overskrive vilkårlige filer i SCP -klientens målkatalog.

Se også

Referanser