
AppleInsider může získat přidruženou provizi za nákupy uskutečněné prostřednictvím odkazů na našich stránkách.
Secure Copy je standard UNIX používaný k přenosu souborů z jednoho počítače do druhého. Uvádí, jak používat funkci v macOS, vše prostřednictvím okna Terminál.
Před osobními počítači existovaly sálové počítače a terminály pro sdílení času. Uživatelé by se přihlašovali k účtu z terminálu na sálový počítač a vydávali příkazy sálovému počítači ke zpracování.
Jak internet v 90. letech dospíval, vyvstala potřeba mít možnost bezpečně používat takové terminálové příkazy v sítích a počítačích. V roce 1994 vytvořil finský programátor Tatu Ylonen Secure Shell. Informace o používání Secure Shell najdete v našem dalším úvodním článku SSH.
V rámci Secure Shell byl vytvořen program SCP (Secure Copy Protocol). SCP je protokol i UNIXový program, který lze spustit z příkazového řádku terminálu v systému macOS.
SCP umožňuje přenos souborů na a ze serverů SSH v obou směrech. SCP je založeno na příkazu RCP (Remote Copy) (součást r-příkazů BSD), který byl původně používán, když se BSD dostalo do popředí v polovině 80. let.
Výchozí port TCP používaný pro přenos souborů SCP je 22 (standardní port SSH).
Na rozdíl od jiných internetových standardů neexistuje RFC ani formální standard pro SCP – je součástí open-source projektu OpenSSH. Celý zdrojový kód OpenSSH si můžete prohlédnout na jeho projektu GitHub.
Základní použití
Chcete-li použít SCP k přenosu souborů, musíte nejprve vytvořit připojení SSH prostřednictvím přihlášení ke vzdálenému serveru, se kterým chcete přenášet soubory. To se provádí buď přihlášením na základě uživatelského jména/hesla v Terminálu, nebo pomocí infrastruktury veřejných klíčů (páry klíčů SSH PKI).
Jakmile se přihlásíte ke vzdálenému serveru, použijete k přenosu souborů příkaz ‚scp‘ následovaný možnostmi v Terminálu. Neexistuje žádný způsob, jak získat výpisy adresářů pomocí scp, ani neposkytuje způsob, jak odstranit vzdálené soubory, ale můžete použít standardní příkazy souborového systému UNIX, jako je ls, abyste získali výpisy adresářů po přihlášení ke vzdálenému počítači.
Po navázání připojení SSH se všechny příkazy v této záložce okna macOS Terminal přesunou na server, nikoli do vašeho Macu.
Chcete-li například v terminálu macOS získat seznam adresářů souborů na místním počítači nebo na vzdáleném serveru, můžete zadat příkaz ls, jako například:
Příznak „-l“ říká ls, aby vypsal soubory svisle v okně Terminál s podrobnostmi o každém souboru/složce, jako jsou oprávnění UNIX, vlastník, skupina, velikost a datum a čas vytvoření souboru. Pokud vynecháte parametr „-l“, příkaz ls vypíše pouze názvy souborů v několika sloupcích bez podrobností o každém souboru.
Další podrobnosti o příkazu ls v Typ terminálu muž ls a stiskněte Vrátit se.
Chcete-li ukončit systém manuálových stránek v Terminálu pro jakoukoli manuálovou stránku, napište Control-Z a stiskněte Vrátit se.
Ke změně adresářů v rámci lokálního nebo vzdáleného systému souborů můžete také použít příkaz ‚cd‘ (change directory). Jednoduše napište ‚cd‘ následované mezerou a názvem nebo cestou adresáře, do kterého chcete změnit. Všechny příkazy terminálu pak fungují v tomto adresáři, pokud znovu neprovedete cd do jiného adresáře nebo nezadáte úplnou cestu v příkazu.
Chcete-li přejít o jednu úroveň adresáře výše v souborovém systému pomocí cd v Terminálu, můžete zadat:
Chcete-li přejít na úplný vrchol (kořen) systému souborů, zadejte:
Terminál můžete nechat vytisknout aktuální úplnou cestu a název adresáře v libovolném souborovém systému zadáním:
‚pwd‘ je příkaz UNIX pro získání aktuální pracovní adresář (tj. – aktuální adresář, ve kterém pracuje terminálový shell). Pro manuálovou stránku na pwd v Terminálu zadejte:
Další podrobnosti o použití příznaku pomocí příkazu naleznete na manuálové stránce scp:
příklady scp
SCP nebo ‚scp‘ v Terminálu se snadno používá. Základní syntaxe příkazu je ‚scp‘ následovaný názvem souboru, uživatelským jménem, názvem serveru nebo IP adresou a cestou ke vzdálenému adresáři na tomto serveru, ke kterému se má přistupovat. Například:
řekne scp, aby zkopíroval místní soubor v pwd s názvem „example.txt“ na server na IP adresu 10.10.0.1 v adresáři souborového systému tohoto serveru s názvem „directoryName“ jako uživatel s názvem „remote_user“ se vzdálenou kopií souboru, která má být pojmenována “ example.txt“ také.
Pokud vynecháte název vzdáleného souboru, použije se stejný název jako zdrojový soubor. Chcete-li změnit název vzdáleného souboru na něco jiného, vložte na konec příkazu za cestu vzdáleného adresáře nový název souboru:
Všimněte si také, že uvedený uživatel musí mít oprávnění v určeném vzdáleném adresáři, aby mohl zkopírovat soubor.
Opačný příklad – zkopírování souboru ze vzdáleného serveru na váš Mac, vypadá podobně. Například:
zkopíruje soubor s názvem „example.txt“ v adresáři „directoryName“ na vzdáleném serveru na plochu vašeho Macu.
Můžete také zadat příznaky bezprostředně za částí scp pomocí znaménka minus následovaného volbou.
Dva příznaky za „scp“ lze použít k určení verze jedna dvě protokolu SSH: -1′ nebo -2′. Například:
vynutí použití verze dvě protokolu ke zkopírování souboru example.txt v pwd na vzdálený server na 10.10.0.1 do adresáře s názvem „název_adresáře“ s novým názvem souboru „novýPříklad.txt“.
Můžete kopírovat celé adresáře pomocí parametru -r..
Několik dalších příznaků, které můžete použít s scp ke změně způsobu, jakým se chová, jsou:
- -4 Používejte pouze adresování IPv4
- -6 Používejte pouze adresování IPv6
- -B Dávkový režim (potlačuje další požadavky na ověření)
- -C Povolí kompresi na připojení
- -F Pro připojení použijte alternativní konfigurační soubor ssh
- -i Udává alternativní soubor soukromého klíče, který se má použít pro připojení
- -l (Limit) – Nastaví limit šířky pásma připojení v kb/s
- -O (Starý) – Vynutí starší protokol SCP místo novějšího protokolu SSH SFTP během přenosů
- -o Předat ssh další volby, které nejsou z příkazového řádku
- -P Připojte se na jiné číslo portu než 22
- -p Zachovat všechna metadata lokálního souboru ve vzdáleném souboru po zkopírování, včetně dat a časů
- -q (Tichý) – nezobrazovat informace o průběhu kopírování souborů v Terminálu
- -R (Vzdálené) – Vynutí použití vzdálené verze scp pro kopie místo lokální
- -r Rekurzivně kopíruje celé adresáře namísto pouze jednotlivých souborů
- -S Ke správě připojení SSH použijte alternativní program SSH
- -v (Verbose) – Tisk dalších informací v Terminálu pro všechny operace scp
Volba -O je k dispozici pro použití v případech, kdy se připojujete ke starším SSH serverům, které neimplementují novější SSH File Transfer Protocol (také součást SSH).
Volbu -o můžete použít k předání dalších parametrů ssh, které nejsou dostupné jako volby příkazového řádku. Další podrobnosti najdete na manuálové stránce scp.
scp místní kopie
scp funguje perfektně ve vaší lokální síti mezi různými druhy počítačů a operačních systémů. Můžete se připojit ke dvěma počítačům v síti LAN a přenášet mezi nimi soubory stejně snadno jako vzdálené počítače s internetem, za předpokladu, že oba počítače v síti LAN používají SSH.
Společnost Microsoft zahrnuje SSH v pozdějších verzích systému Windows 10 počínaje rokem 2019. Pro použití se staršími verzemi systému Windows může být nutné nainstalovat server SSH třetí strany do počítače se systémem Windows.
Dodatečné zdroje
Některé zajímavé knihy o SSH, které si možná budete chtít přečíst, zahrnují:
V budoucích článcích prozkoumáme přenos souborů v Terminálu pomocí dvou modernějších síťových protokolů: SFTP a rsync.
Zdroj: appleinsider.com