Säkert kopieringsprotokoll - Secure copy protocol
Utvecklare | OpenSSH -projektet |
---|---|
Förvar | github |
Skrivet i | C |
Operativ system | Plattformsoberoende |
Typ | Kommando |
Hemsida | www |
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.