12 scp command examples securely transfer files linux
Tento výukový program vysvětluje protokol zabezpečeného kopírování nebo příkaz SCP používaný pro bezpečné kopírování souborů v systémech Linux a Unix se syntaxí a příklady:
V tomto článku se budeme zabývat příkazem SCP (Secure Copy Protocol), který se používá pro přenos souborů. Uvidíme, co to je a jak to funguje, pomocí několika příkladů. Pojďme se tedy nejprve pokusit pochopit, co je příkaz SCP.
Co se naučíte:
Co je příkaz SCP?
SCP (Secure Copy Protocol) je síťový protokol, který se používá pro bezpečný přenos souborů mezi hostiteli v počítačové síti. Pomocí tohoto nástroje příkazového řádku v systémech podobných systému Linux a Unix můžete provádět přenos souborů z místního hostitele na vzdáleného hostitele nebo ze vzdáleného hostitele do místního systému nebo mezi dvěma vzdálenými hostiteli.
(obraz zdroj )
SCP zajišťuje autentičnost, šifrování a důvěrnost dat pomocí mechanismu SSH (Secure Shell) pro přenos souborů. Přenášená data jsou tedy chráněna před snoopingovými útoky. Klienti mohou pomocí tohoto protokolu nahrávat a stahovat soubory a adresáře na server a ze serveru. K ověření vyžaduje buď heslo, nebo klíče. Výchozí port pro SCP je TCP port 22.
Výhodou protokolu SCP je, že pro přenos souborů nemusíte spouštět relace FTP ani se výslovně přihlásit ke vzdáleným hostitelům.
Syntaxe pro protokol SCP
# 1) Pro kopírování souboru z místního na vzdáleného hostitele
scp (options) SourceFileName UserName@TargetHost:TargetPath
Toto je velmi základní syntaxe příkazu SCP, který pomocí uživatelského účtu zkopíruje zdrojový soubor z aktuálního hostitele na cílovou cestu v cílovém hostiteli. Obvykle je to docela podobné příkazu copy cp.
# 2) Pro kopírování ze vzdáleného hostitele na místní
Pro kopírování souboru:
scp (options) UserName@SourceHost:SourceFilePath TargetFileName
Nebo, jednoduše stáhněte soubor:
scp (options) UserName@SourceHost:SourceFilePath
Pro kopírování složky (rekurzivně):
scp -r UserName@SourceHost:SourceDirectoryPath TargetFolderName
Pokud vzdálený hostitel používá jiný port než výchozí port 22, je třeba číslo portu výslovně uvést v příkazu pomocí volby -P.
# 3) Kopírování z jednoho vzdáleného počítače do druhého vzdáleného počítače
scp (options) UserName@SourceHost:SourcePath UserName@TargetHost:TargetPath
Když kopírujete soubory z jednoho vzdáleného počítače do druhého, přenos nepřechází z vašeho počítače. Tato operace probíhá přímo mezi dvěma vzdálenými servery.
# 4) Kopírování více souborů
Pro kopírování více souborů z localhost na vzdáleného hostitele:
scp file1 file2 UserName@TargetHost:TargetDirectoryPath
Pro kopírování více souborů ze vzdáleného hostitele do aktuálního adresáře localhost:
scp UserName@SourceHost:SourceDirectoryPath{file1, file2}
Možnosti použité s příkazem SCP
Níže jsou uvedeny nejčastěji používané možnosti s příkazem SCP:
- -C : C, zde znamená povolit kompresi. Použitím této možnosti bude povolena komprese a rychlost kopírování se zvýší. Automaticky povolí kompresi u zdroje a dekompresi u cíle.
- -C: c znamená šifra. Ve výchozím nastavení používá SCP k šifrování souborů „AES-128“. Chcete-li změnit šifru, musíte použít volbu -c následovanou názvem šifry.
- -i: i znamená identifikační soubor nebo soukromý klíč. Obecně se v prostředích Linuxu volí ověřování pomocí klíčů. Můžeme tedy konkrétně zmínit soubor soukromého klíče nebo soubor identity pomocí volby -i.
- -l: Zkratka znamená mezní šířku pásma. Prostřednictvím této možnosti můžete nastavit maximální použitou šířku pásma. Je v Kbit / s.
- -B: Tato možnost se používá pro použití dávkového režimu při kopírování.
- -F: Tato možnost se používá pro použití jiného souboru ssh_config při kopírování v situacích, kdy pro připojení k systémům Linux potřebujete různé sítě. V takových scénářích musíte přiřadit náhradní konfigurační soubor SSH na uživatele.
- -P: Pokud se číslo portu ssh cílového hostitele liší od výchozího čísla portu 22, pak musíte konkrétně uvést číslo portu pomocí volby -P.
- -p: Tato možnost se používá k zachování oprávnění souboru, úprav a časů přístupu při kopírování.
- -q: Tato možnost provede příkaz SCP v tichém režimu. Vypne měřič průběhu a na obrazovce terminálu Linux nebude zobrazovat průběh přenosu, varování ani diagnostické zprávy ssh.
- -r: Možnost -r se používá k rekurzivnímu kopírování souborů a adresářů. Například, pokud chcete zkopírovat celou složku (spolu s obsahem uvnitř složky) na cílovém počítači, musíte použít volbu -r.
- -S: Tato možnost se používá k určení programu, který se má použít pro připojení.
- -proti: v znamená verbose. Tato možnost zobrazí postupný postup provádění příkazu SCP na obrazovce terminálu. Je to opravdu užitečné při ladění.
Příklady příkazů SCP
Pojďme pochopit, jak používat příkaz SCP pomocí příkladů:
Příklad 1: pro kopírování z místního na vzdáleného hostitele
scp -v lockfile.txt kaushapx@10.172.80.167: /home/cpf657/kaushapx/test1
Ve výše uvedeném příkladu
s čím otevřu jar soubory
- Volba -v se používá jako podrobná možnost pro zobrazení podrobností výstupu tohoto příkazu na terminálu Linux. Pomocí podrobného výstupu můžete přesně zjistit, co se děje na pozadí, když je příkaz spuštěn. To pomáhá ladit.
- Lockfile.txt je název zdrojového souboru, který chceme přenést na vzdáleného hostitele.
- Kaushapx je příkladem uživatelského jména. Pomocí tohoto účtu uživatelského jména bezpečně zkopírujeme soubor na vzdáleného hostitele.
- 10.172.80.167 je příklad IP cílového vzdáleného hostitele, na který chceme soubor přenést.
- / home / cpf657 / kaushapx / test1 je příkladem absolutní cesty, kam chceme umístit tento přenesený soubor.
Níže uvedené snímky obrazovky ukazují provedení výše uvedeného příkazu SCP.
Příklad 2: pro kopírování ze vzdáleného hostitele do místního systému:
scp kaushapx@10.172.80.167:/home/cpf657/kaushapx/test/parent/directory1/DemoFile.txt /home/tpf655/kaushapx
Příklad 3: pro kopírování více souborů na vzdáleného hostitele:
scp DemoFile.txt log.xml kaushapx@10.172.80.167:/home/cpf657/kaushapx/test
Příklad 4: pro kopírování souborů mezi dvěma vzdálenými systémy:
scp kaushapx@10.172.80.167:/home/cpf657/kaushapx/console.txt kaushapx@10.182.46.76:/home/tpf655/kaushapx/test
Příklad 5: pro rekurzivní kopírování souborů a adresářů (pomocí volby -r):
Předpokládejme, že v adresáři localhost mám složku nazvanou „test“ a tato složka obsahuje čtyři soubory. Chci zkopírovat celou složku do jiné složky s názvem „test1“ přítomné na vzdáleném hostiteli.
co je to propojený seznam c ++
Použiji následující příkaz:
scp -r test kaushapx@10.172.80.167:/home/cpf657/kaushapx/test1
Příklad 6: pro zvýšení rychlosti kopírování povolením komprese (pomocí volby -C):
Přenesme stejnou složku, kterou jsme provedli v příkladu 5, ale tentokrát povolením komprese:
scp -r -C test kaushapx@10.172.80.167:/home/cpf657/kaushapx/test1
Příklad 7: pro omezení šířky pásma při kopírování (pomocí volby -l):
Pokračujme se stejnou možností. Tentokrát použijeme volbu -l a určíme šířku pásma, řekněme 500. Pamatujte si, šířka pásma, kterou jsme zde zadali, je v Kbit / s.
Příklad 8: pro zadání jiného portu ssh při kopírování (pomocí volby -P):
Pokud vzdálený server, na který kopírujete soubor, používá jiný port než výchozí port 22, musíte explicitně sdělit číslo portu v příkazu SCP pomocí volby -P. Například, pokud je ssh port vzdáleného serveru 2022, pak v příkazu SCP uvedete -P 2022.
scp -P 2022 console.txt kaushapx@10.182.46.76:/home/tpf655/kaushapx/test
Příklad 9: pro zachování oprávnění souboru, modifikací a doby přístupu při kopírování (pomocí volby -p):
scp -p console.txt kaushapx@10.172.80.167:/home/cpf657/kaushapx/test1
Příklad 10: pro kopírování souborů v tichém režimu (pomocí volby -q):
scp -q console.txt kaushapx@10.172.80.167:/home/cpf657/kaushapx/test1
Příklad 11: pro identifikaci souborů v SCP při kopírování (pomocí volby -i):
Ve výše uvedeném příkladu je my_private_key.pem soubor identity nebo soubor soukromého klíče.
Příklad 12: pro použití jiné šifry při kopírování přes SCP (pomocí volby -c):
scp -c 3des-cbc -r test1 kaushapx@10.182.46.76:/home/tpf655/kaushapx/test
Časté dotazy O příkazu SCP
V této části se budeme zabývat některými často kladenými otázkami k příkazu SCP.
Otázka č. 1) Co je příkaz SCP?
Odpovědět: SCP znamená Secure Copy Protocol. Pomocí příkazu SCP můžete bezpečně kopírovat soubory mezi hostiteli v síti. K přenosu dat využívá mechanismy SSH. Používá ověřování na základě klíče nebo hesla.
Otázka 2) Co dělá SCP v Linuxu?
Odpovědět: V systému Linux příkaz SCP přenáší soubory mezi servery bezpečným způsobem. Může to být kopie souboru mezi vzdáleným serverem a místním hostitelem nebo mezi dvěma vzdálenými servery. SCP je předinstalovaný příkaz v Linuxu a je známý svou jednoduchostí a zabezpečením.
Otázka č. 3) Jak můžeme SCP soubory v Linuxu?
Odpověď: Soubory SCP můžete provádět pomocí následující syntaxe příkazu:
scp (options) (username@)(source_host:)file1 (username@)(destination_host:)file2.
S příkazem SCP lze použít mnoho možností. Například, -C pro kompresi, -c pro šifru, -P pro port, -I pro soukromý klíč, -l pro limit, -r pro rekurzivní kopírování atd.
Otázka č. 4) Jak SCP soubor?
Odpovědět: Soubor můžete SCP pomocí příkazu SCP, jak je uvedeno v Q # 3.
Otázka č. 5) Kopíruje nebo přesouvá SCP?
Odpovědět: Příkaz SCP zkopíruje soubory ze zdroje do cíle. Po SCP bude soubor přítomen u obou hostitelů.
Otázka č. 6) Můžete použít SCP pro adresář?
Odpovědět: Ano, můžeme použít SCP pro adresář. Pro kopírování celého adresáře a jeho obsahu musíte použít volbu -r.
Níže je uvedena syntaxe příkazu SCP pro kopírování adresáře z místního hostitele na vzdáleného hostitele:
scp -r localhost_path_to_directory username@target_server_ip:/path_to_target_directory/
Otázka č. 7) Jak použijeme SCP pro všechny soubory v adresáři?
Odpovědět: Chcete-li použít SCP na všechny soubory v adresáři, musíte přidat * s cestou adresáře:
scp -r localhost_path_to_directory/* username@target_server_ip:/path_to_target_directory/
Tímto způsobem budou všechny soubory uvnitř místního adresáře zkopírovány do vzdáleného adresáře.
Otázka č. 8) Můžeme použít SCP ve Windows?
Odpovědět: Ano, SCP můžete použít ve Windows. Ve Windows však není předem stažen, na rozdíl od Linuxu a Macu, takže pro Windows musíte software SCP nainstalovat samostatně.
Můžete si stáhnout Putty, který obsahuje SCP pro Windows (software Putty SCP (PSCP), nebo si můžete stáhnout WinSCP (Windows Secure Copy). Klient PSCP běží přímo z příkazového řádku Windows. K použití SCP ve Windows existuje i další software. .
Otázka č. 9) Jak použijeme SCP pro více souborů?
Odpovědět: Pro kopírování více souborů z localhostu na vzdáleného hostitele pomocí SCP:
scp file1 file2 UserName@TargetHost:TargetDirectoryPath
Pro kopírování více souborů ze vzdáleného hostitele do aktuálního adresáře localhost pomocí SCP:
scp UserName@SourceHost:SourceDirectoryPath{file1, file2}
Otázka č. 10) Jaký je rozdíl mezi SCP a SFTP?
Odpovědět: SCP je protokol Secure Copy. SFTP je protokol zabezpečeného přenosu souborů. Oba používají port TCP 22 a běží na mechanismu SSH. Liší se ale ve specifikacích a funkcích.
SCP přenáší pouze data, zatímco SFTP kromě přenosu souborů provádí také funkce přístupu k souborům a správy souborů. Se SFTP můžete provádět operace, jako je výpis vzdálených adresářů nebo mazání souborů. SCP však umožňuje pouze kopírování souborů a adresářů mezi servery.
Rychlost přenosu souborů v SCP je rychlejší než SFTP, protože používá efektivnější algoritmus pro přenos souborů.
co mohu dělat s c ++
Na SFTP můžete obnovit přerušený přenos souborů z klienta příkazového řádku. SCP ale tuto funkci nemá.
SFTP nabízí komponentu GUI, ale SCP ji nemá.
Otázka č. 11) Co je příkaz SCP v systému Windows pro bezpečné kopírování souboru?
Odpovědět: Otevřete příkazový řádek systému Windows a zadejte následující příkaz pro bezpečné kopírování souboru z místního počítače se systémem Windows na server (může to být server Linux):
pscp filepath userid @ target_server_ip: target_path
Příklad: pscp c: desktop sample.txt userxyz@192.162.x.x: /tmp/foo/sample.txt
K provedení tohoto příkazu byste měli mít nainstalovaný PSCP.
Otázka č. 12) Je SCP bezpečné?
Odpovědět: Ano, SCP je zabezpečené. Pro přenos dat používá mechanismus SSH (Secure Shell Protocol), takže získává výhody plynoucí z zabezpečení nabízeného SSH. Přenášená data jsou utajována a je zajištěna jejich autenticita.
Závěr
V tomto tutoriálu jsme viděli, jak použít příkaz SCP pro bezpečné kopírování souborů mezi dvěma vzdálenými hostiteli nebo mezi místním hostitelem a vzdáleným hostitelem, aniž byste museli explicitně inicializovat relaci FTP nebo se přihlásit do vzdálených počítačů.
SCP využívá mechanismus SSH pro kopírování dat, a tak jsou přenášená data šifrována a zabezpečena. K ověření potřebuje heslo nebo klíč. Na rozdíl od protokolu RCP (Remote Copy Protocol) nebo FTP (File Transfer Protocol) šifruje SCP jak soubor, tak hesla vyměňovaná mezi systémy, aby chránil jakékoli snooping v síti.
Doporučené čtení
- Vyjmout příkaz v Unixu s příklady
- Najít příkaz v Unixu: Najít soubory pomocí unixového vyhledávacího souboru (příklady)
- Syntaxe příkazů Unix Cat, možnosti s příklady
- Příkaz LS v Unixu s příklady
- Argumenty příkazového řádku v Unix Shell Script s příkladem
- Příkaz Grep v Unixu s jednoduchými příklady
- Manipulace se soubory v systému Unix: Přehled systému souborů Unix
- Unixový příkaz pro řazení se syntaxí, možnostmi a příklady