Chtěli jste někdy přenést nějaké soubory přes síť počítačů a čelili jste bezpečnostním problémům? Nemůžete své soubory jen tak vyhodit do sítě a přát si, aby zůstaly v bezpečí, jako je Červená karkulka! Potřebujete bezpečnostní opatření. Měli byste používat protokol pro přenos souborů, který zajistí, že vaše data budou chráněna před neoprávněným přístupem, síťovým odposlechem, narušením dat a dalšími typy hrozeb.
Secure Copy Protocol (SCP) je výkonný síťový protokol pro přenos souborů, který přenáší soubory mezi různými zařízeními v síti. V tomto příspěvku na blogu se blíže seznámíme s tímto protokolem a prozkoumáme možnosti použití SCP ze vzdálených na místní počítače.
Jak SCP funguje?
SCP používá k přenosu vašich souborů SSH (Secure Shell). Ale co to vůbec znamená? SSH je síťový protokol pro bezpečný a zabezpečený vzdálený přístup k serverům. Je vybaven metodami pro ověřování, šifrování a ověřování integrity přenášených datových souborů. SCP spoléhá na tyto bezpečnostní funkce a metody šifrování poskytované SSH pro bezpečný přenos souborů po síti. Tímto způsobem můžete využít SCP ze vzdálených na místní servery pro bezpečné připojení a přenos souborů a mít jistotu o pravosti a důvěrnosti svých dat.
Použití SCP pro přenos souborů; Proč a jak?
Použití SCP ze vzdáleného na místní a SCP z místního na vzdálené je efektivní a flexibilní způsob přenosu souborů. SCP nabízí některé hlavní výhody pro přenos souborů. Například SCP nabízí robustnější bezpečnostní opatření než jiné metody přenosu souborů, jako je FTP. Dalším aspektem, ve kterém se SCP liší od jiných protokolů, je rychlost. SCP je obvykle mnohem rychlejší než jiné protokoly, jako je SFTP, a je to skvělý nástroj pro přenos souborů mezi počítači se systémem Linux.
Soubory můžete přemístit pomocí SCP:
- Z místního počítače na vzdálený počítač
- Ze vzdáleného počítače na místní počítač
- Ze vzdáleného stroje na jiný vzdálený stroj.
Nyní přejdeme ke skutečnému použití syntaxe Linux SCP pro přenos souborů. První věc, kterou musíte udělat, je nastavit SSH na obou vašich počítačích. Je však důležité poznamenat, že SSH je obvykle nainstalován na všech počítačích se systémem Linux. Takže pokud je to váš případ, můžete tyto kroky přeskočit.
1. Nastavení SSH
Spusťte následující příkaz pro instalaci SSH:
sudo apt install openssh-client
2. Generování SSH klíčů
Klientské zařízení pak musí vytvořit připojení SSH. Zabezpečené spojení mezi klientskými a serverovými počítači vyžaduje vytvoření soukromého a veřejného klíče. Tento příkaz pro vás vytvoří pár klíčů SSH:
ssh-keygen
při spuštění tohoto příkazu budete pravděpodobně požádáni o zadání názvu dvojice klíčů a přístupové fráze (toto je volitelné). Poté, když je pár klíčů vytvořen, musíte zkopírovat veřejný klíč na server.
Nyní se podívejme na obecnou formu příkazu SCP:
scp [options] [source username@IP]:/[directory/file name] [destination username@IP]:/[directory]
- [možnosti] > Tuto první závorku lze nahradit různými možnostmi příkazu SCP, ke kterým se dostaneme později.
- [zdrojové uživatelské jméno@IP] > Tato závorka by měla být nahrazena uživatelským jménem a IP adresou místního počítače. Například: [email protected]
- [název adresáře/souboru] > Tato závorka by měla být nahrazena umístěním souboru, který chcete odeslat.
- [cílové uživatelské jméno@IP] > Tato závorka by měla být nahrazena uživatelským jménem a IP adresou přijímajícího zařízení.
- [adresář] > Nahraďte tuto část požadovaným umístěním vašeho souboru na vzdáleném počítači.
Nyní tedy víte, jak vypadá obecný příkaz. Podívejme se na všechny užitečné možnosti příkazu SCP:
| Volba | Případ použití |
| -C |
Při použití této možnosti SCP komprimuje vaše soubory při jejich přenosu.
|
| -c <šifra> |
Tuto volbu můžete použít k tomu, abyste SCP řekli, aby použil konkrétní šifru. Například scp -c <aes128-ctr>.
|
| -v |
Tato možnost vám poskytuje postupný tok procesu.
|
| -l <limit v kilobajtech> |
Tato možnost umožňuje nastavit limit pro maximální šířku pásma. Například následující příklad nastaví využití šířky pásma na 100 kb za sekundu: scp -l 100
|
| -P |
Pomocí této volby můžete změnit ssh port vzdáleného serveru, ke kterému se chcete připojit. SCP standardně používá port 22.
|
| -S <název programu> |
Tuto možnost můžete použít k výběru programu pro připojení.
|
| -r |
Rekurzivně zkopírujte celý soubor nebo adresář.
|
Přenos souborů pomocí SCP
Takže si pamatujete, že u SCP máme tři typy převodů, že? Nyní chceme prozkoumat každý typ převodu nezávisle. Ale pojďme definovat misi, než začneme. Tuto fotografii kočky mám na ploše svého počítače se systémem Linux a v prvním kroku ji chci přenést na vzdálený server Linux. Poté jej přenesu zpět do místního počítače. A nakonec se kočka pro štěstí bude pohybovat mezi dvěma vzdálenými stroji.

SCP z místního na vzdálený
Pomocí tohoto příkazu přenesete náš soubor z místního počítače na vzdálený server:
scp [path/to/the/file] [Username]@[IP address]:[path/to/the/location]
Chcete-li použít příkaz scp s heslem, měli byste zadat heslo vašeho vzdáleného serveru. A pak máte hotovo.

SCP ze vzdáleného na místní
Chcete-li tento proces zvrátit, nemusíte přistupovat k terminálu vzdáleného serveru. Na terminálu místního počítače zadejte tento příkaz:
scp [username]@[IP address of the remote machine]:[path/to/the/file] [path/to/the/location]
Jak vidíte, právě jsme obrátili dvě části tohoto příkazu.

SCP mezi dvěma vzdálenými stroji
Nyní přenesme kočku mezi dva vzdálené stroje. Tento krok vyžaduje heslo k oběma vzdáleným počítačům, takže se ujistěte, že je máte. Tento příkaz použijte k přenosu souboru mezi dvěma vzdálenými počítači:
scp [username of the 1st remote machine]@[IP address of the 1st remote machine]:[path/to/the/file] [username of the 2nd remote machine]@[IP address of the 2nd remote machine]:/[path/to/location]

Další běžné příkazy SCP
Nejběžnější příkazy SCP jsou scp ze vzdáleného na místní, scp z místního na vzdálený a SCP mezi dvěma vzdálenými hostiteli. Ale nezůstaňme u toho a prozkoumejme nějaký další užitečný příklad scp Linuxu.
1. Rekurzivní kopírování celého adresáře
Představte si, že chcete přenést celý adresář se všemi soubory, které obsahuje. Přenášet tyto soubory jeden po druhém by bylo opravdu časově náročné. Místo toho můžete použít příkaz scp multiple files ke zkopírování adresáře rekurzivně:
scp -r [Path/to/directory] [username of the remote server]@[Ip address]:/[path/to/the/location]
To může být užitečné pro mnoho scénářů:
- Nasazení kódu: když nasazujete kód nebo webové aplikace, možná budete muset přenést celý adresář se všemi jeho součástmi, jako jsou soubory a skripty.
- Zálohování a synchronizace: Pokud chcete mít zálohu celého adresáře nebo pokud chcete synchronizovat dva adresáře na místním počítači a vzdáleném serveru, musíte vše zkopírovat rekurzivně.
- Migrace systému: Zásadním úkolem při migraci systému je zkopírovat a přenést všechny důležité informace. Použití příkazu SCP s volbou -r zajistí, že vám v procesu přesunu nic neunikne.
2. Omezení využití šířky pásma
Chcete-li řídit rychlost, jakou jsou vaše data přenášena, můžete použít následující příkaz:
scp -l <limit> [path/to/the/file] [Username]@[IP address]:[path/to/the/location]
Proč bys to ale dělal?
V těchto dvou scénářích můžete použít syntaxi Linux scp k nastavení limitu šířky pásma:
- Přetížení sítě: Pokud je vaše síť vysoce přetížená, omezení šířky pásma pomocí scp může pomoci s distribucí síťových zdrojů. Omezení šířky pásma pomocí SCP zajišťuje, že ostatní úlohy související se sítí poběží bez problémů. To je také důležité při přenosu souborů přes sdílenou síť a váš proces může bránit síťovým aktivitám ostatních uživatelů.
- Přenosy na pozadí: Během přenosů SCP na pozadí, jako jsou automatické zálohování nebo synchronizační procesy, existuje šance, že tyto úkoly spolknou vaše síťové zdroje. V tomto případě můžete omezit šířku pásma těchto přenosových procesů, abyste mohli lépe spravovat zdroje.
3. Získání podrobného protokolu
Použití volby -v s SCP vám poskytne podrobný protokol dalších informací o procesu přenosu. Chcete-li získat podrobnou zpětnou vazbu a informace, můžete použít následující příkaz:
scp -v [path/to/the/file] [Username]@[IP address]:[path/to/the/location]
Zde je důvod, proč si musíte zapamatovat a používat tento příkaz:
- Odstraňování problémů: pomocí této možnosti zobrazíte průběh přenosu v akci. Můžete vidět informace, jako je velikost souboru a procento dokončení. Poskytuje také chybové zprávy a varování. Kombinace těchto dat vám umožňuje sledovat a odstraňovat problémy s přenosem v případě potřeby.
4. Určení portu SSH
Použití syntaxe Linux scp s volbou -P vám to umožní změnit port SSH. Zde je příkaz, který vám to umožní:
scp -P [port number] [path/to/the/file] [Username]@[IP address]:[path/to/the/location]
To může být užitečné pro:
- Konfigurace brány firewall: Pokud je výchozí port SSH omezen nebo pokud chcete skrýt službu SSH před potenciálními hrozbami, můžete port SSH změnit.
Existují nějaké alternativy k SCP?
SCP je rychlý a bezpečný a díky znalosti správné syntaxe Linux scp a některých znalostí řešení problémů může být jediným nástrojem, který potřebujete. Není však na škodu přezkoumat jeho alternativy.
1. rsync
rsync je všestranný nástroj pro přenos souborů s pokročilými možnostmi synchronizace, přírůstkovými přenosy a vzdáleným a místním kopírováním. Může také snížit využití šířky pásma tím, že pouze přenese rozdíly mezi zdrojovými a cílovými soubory. Další velkou výhodou použití rsync je, že dokáže přerušit přenosy souborů tam, kde skončily, a pokračovat v procesu.
rsync Pros
- Efektivní synchronizace souborů a adresářů.
- Podporuje delta-přenosový algoritmus, snižuje přenos dat.
- Může obnovit přerušené přenosy.
rsync Zápory
- Vyžaduje instalaci rsync na zdrojovém i cílovém systému.
- Vyžaduje více možností nastavení a příkazů ve srovnání s scp.
2. SFTP (SSH File Transfer Protocol)
SFTP poskytuje bezpečný způsob přenosu souborů přes SSH. Nabízí podobnou funkcionalitu jako FTP, ale funguje přes šifrované připojení SSH, stejně jako SCP. V některých oblastech však výhody SFTP převažují nad výhodami SCP. SCP nemůže generovat seznamy adresářů, vytvářet nebo mazat adresáře atd. SFTP však může provádět všechny tyto úkoly.
SFTP profíci
- Zabezpečený přenos souborů pomocí šifrování.
- Možnost vzdálené správy souborů.
- Široká dostupnost na většině systémů Linux a Unix.
Zápory SFTP
- Syntaxe a použití příkazů se liší od tradičního FTP.
- Může mít omezenou podporu na určitých vestavěných systémech nebo zařízeních.
3. FTP (File Transfer Protocol)
FTP je široce používaný standardní protokol pro přenos souborů. Pracuje v modelu klient-server a nabízí základní funkce pro přenos souborů.
Profíci FTP
- Široká podpora napříč různými platformami.
- K dispozici jsou známí klienti příkazového řádku a grafičtí klienti.
FTP nevýhody
- Chybí šifrování/méně bezpečné ve srovnání s scp a sftp.
- K navázání připojení může vyžadovat další konfiguraci brány firewall.
- Ověření pomocí prostého textu.
Celkově vzato, zatímco scp je jednoduchou a spolehlivou volbou pro bezpečný přenos souborů přes SSH, alternativy jako rsync, sftp a FTP mohou nabídnout další funkce a flexibilitu v závislosti na konkrétních požadavcích.
Jak se tedy rozhodnout, kterou si vybrat? Měli byste zvážit faktory, jako je zabezpečení, potřeby synchronizace, snadnost použití a kompatibilita s vašimi systémy a protokoly. Pokud jsou například zabezpečení a důvěrnost dat nejdůležitějšími faktory při přenosu souborů, pak není FTP dobrou volbou.
Závěr
SCP je rychlý a bezpečný nástroj pro přenos souborů mezi počítači. K přenosu souborů můžete použít scp ze vzdáleného na místní, z místního na vzdálený a dokonce mezi dvěma vzdálenými systémy. A přestože existují alternativy k SCP, které odvádějí adekvátní práci, jako je rsync, v mnoha ohledech je překonává, zejména v oblasti bezpečnosti a rychlosti. V tomto příspěvku na blogu jsme hovořili o SCP, jeho případech použití a alternativách a také jsme poskytli cheat pro snadný přístup k často používané syntaxi.
FAQ
Existují nějaké bezpečnostní problémy, kterých bych si měl být vědom při používání SCP ze vzdáleného na místní?
SCP je poměrně bezpečný a bezpečný nástroj a při jeho používání se nemusíte obávat bezpečnostních hrozeb. Vždy se však doporučuje přijmout veškerá další bezpečnostní opatření, která můžete.
Jaké jsou některé běžné chyby, ke kterým dochází při použití SCP vzdáleného na místní?
Při použití SCP k přenosu souborů ze vzdáleného serveru na místní počítač mohou uživatelé narazit na několik běžných chyb. Zde jsou dvě nejběžnější chyby při použití SCP vzdáleného na místní:
- Žádný takový soubor nebo adresář: k této chybě dojde, když jste nezadali správné číslo portu, nastavení oprávnění k souboru jsou nesprávná nebo když jsou nesprávné přihlašovací údaje.
- Ověření klíče hostitele se nezdařilo: Tato chybová zpráva se zobrazí, když se klíč hostitele změnil kvůli upgradům serveru. Klíč hostitele ukazuje, že jste se k tomuto serveru již dříve připojili, a když ověření klíče hostitele selže, znamená to, že se identita serveru změnila. Tato chyba se vás snaží ochránit před připojením k podvodnému serveru.
Jak mohu použít SCP k přenosu souborů mezi vzdálenými systémy?
Aby bylo možné úspěšně přenášet soubory mezi systémy pomocí SCP, oba počítače by měly být přístupné přes SSH. potřebujete také IP adresu a heslo vzdálených počítačů. Zbytek je pouze pomocí správného příkazu SCP:
scp [username of the 1st remote machine]@[IP address of the 1st remote machine]:[path/to/the/file] [username of the 2nd remote machine]@[IP address of the 2nd remote machine]:/[path/to/location]
Po zadání tohoto příkazu budete požádáni o zadání hesla serverům. Poté bude váš soubor přenesen.