Säkert kopieringsprotokoll - Secure copy protocol

scp
Utvecklare OpenSSH -projektet
Förvar github .com /openssh /openssh-portable /
Skrivet i C
Operativ system Plattformsoberoende
Typ Kommando
Hemsida www .openssh .com

Secure Copy protokoll ( SCP ) är ett sätt att säkert överföra datafiler mellan en lokal värd och en fjärr värd eller mellan två fjärrvärdar. Den är baserad på Secure Shell (SSH) -protokollet. "SCP" hänvisar vanligtvis till både Secure Copy Protocol och själva programmet. Enligt OpenSSH -utvecklare i april 2019 är SCP föråldrad, oflexibel och inte lätt fixad; de rekommenderar användning av mer moderna protokoll som sftp och rsync för filöverföring.

Säkert kopieringsprotokoll

Den SCP är ett nätverksprotokoll , baserat på BSD RCP -protokollet, som stöder filöverföringar mellan värdar i ett nätverk. SCP använder Secure Shell (SSH) för dataöverföring och använder samma mekanismer för autentisering och säkerställer därmed äktheten och konfidentialiteten för de data som transiteras . En klient kan skicka (ladda upp) filer till en server, eventuellt inklusive deras grundattribut (behörigheter, tidsstämplar). Klienter kan också begära filer eller kataloger från en server (nedladdning). SCP körs som standard över TCP -port 22. Liksom RCP finns det ingen RFC som definierar detaljerna i protokollet.

Fungera

Normalt initierar en klient en SSH -anslutning till fjärrvärden och begär att en SCP -process startas på fjärrservern. Den fjärrstyrda SCP -processen kan fungera i ett av två lägen:

  • källäge, som läser filer (vanligtvis från hårddisken) och skickar tillbaka dem till klienten, eller
  • sink -läge, som accepterar filerna som skickas av klienten och skriver dem (vanligtvis till disken) på fjärrvärden.

För de flesta SCP -klienter utlöses generellt källäge med -fflaggan (från), medan sänkningsläge utlöses med -t(till). Dessa flaggor används internt och dokumenteras inte utanför SCP -källkoden.

Fjärr till fjärrläge

Tidigare, i fjärr-till-fjärran säker kopia, öppnar SCP-klienten en SSH-anslutning till källvärden och begär att den i sin tur ska öppna en SCP-anslutning till destinationen. (Fjärr-till-fjärrläge stödde inte att öppna två SCP-anslutningar och använda den ursprungliga klienten som mellanhand). Det är viktigt att notera att SCP inte kan användas för att fjärrkopiera från källan till destinationen när den används i lösenord eller tangentbord-interaktivt autentiseringsläge, eftersom detta skulle avslöja destinationsserverns autentiseringsuppgifter för källan. Det är dock möjligt med nyckelbaserade eller GSSAPI- metoder som inte kräver användarinmatning.

Nyligen stöder fjärr-till-fjärrläge routning av trafik genom klienten som skapade överföringen, även om det är en tredje part i överföringen. På så sätt måste auktoriseringsuppgifter endast finnas på den ursprungliga klienten, den tredje parten.

Problem med talande skalprofiler

SCP förväntar sig inte att text kommunicerar med ssh -inloggningsskalet. Text som överförs på grund av ssh -profilen (t.ex. eko "Välkommen" i .bashrc -filen) tolkas som ett felmeddelande, och en nollrad (eko "") får scp att låsas i väntan på att felmeddelandet ska slutföras.

Säker kopia (fjärrkopieringsprogram)

Den SCP Programmet är ett verktyg att genomföra SCP protokollet som en tjänst demon eller klient. Det är ett program för att utföra säker kopiering.

Det kanske mest använda SCP -programmet är kommandoradsprogrammet OpenSSH scp, som finns i de flesta SSH -implementeringar. Det scpprogrammet är säker analog till rcpkommandot. Det scpprogram måste vara en del av alla SSH-servrar som vill ge SCP service, som scpfungerar som SCP server också.

Vissa SSH -implementeringar tillhandahåller scp2programmet, som använder SFTP -protokollet istället för SCP, men ger samma kommandoradsgränssnitt som scp. scpär då vanligtvis en symbolisk länk till scp2.

Syntax

Vanligtvis är en syntax för scpprogrammet som syntaxen för cp(kopia) :

Kopiera lokal fil till en fjärrvärd:

scp LocalSourceFile user@remotehost:directory/TargetFile

Kopiera fil från fjärrvärd och kopiera mapp från fjärrvärd (med -r -switch):

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

Observera att om fjärrvärden använder en annan port än standardvärdet 22 kan den specificeras i kommandot. Till exempel kopierar du en fil från värden:

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

Andra kunder

Eftersom Secure Copy Protocol endast implementerar filöverföringar är GUI SCP -klienter sällsynta, eftersom implementering kräver ytterligare funktioner ( åtminstone katalogförteckning ). Till exempel är WinSCP standard för SFTP -protokollet. Även när de arbetar i SCP -läge är klienter som WinSCP vanligtvis inte rena SCP -klienter, eftersom de måste använda andra medel för att implementera den extra funktionen (som lskommandot ). Detta ger i sin tur plattformsberoende problem.

Mer omfattande verktyg för att hantera filer över SSH är SFTP -klienter.

säkerhet

År 2019 tillkännagavs sårbarhet CVE - 2019-6111 relaterad till openssh SCP -verktyget och protokollet som tillåter användare att skriva över godtyckliga filer i SCP -klientens målkatalog.

Se även

Referenser