Téma Jannah Licence není ověřena, Přejděte na stránku možností motivu a ověřte licenci. Pro každý název domény potřebujete jednu licenci.

Jak bezpečně přenášet soubory v Linuxu pomocí SCP

Při přenosu souborů na vzdálený server Linux máte několik možností. Jednou z nejlepších metod je použití programu s názvem Secure Copy nebo SCP, který běží přes SSH pro rychlý přenos souborů přes vaši síť do vzdáleného systému. Tento tutoriál vám ukáže, jak bezpečně přenášet soubory v Linuxu pomocí SCP.

scp-transfer-linux-00-featured-image-800x400.jpg Jak bezpečně přenášet soubory v Linuxu pomocí SCP

Konfigurace SSH

Na váš vzdálený server budete muset nainstalovat SSH server. Nejpopulárnější na Linuxu je OpenSSH server. Chcete-li jej nainstalovat, spusťte jeden z následujících příkazů:

# Server založený na Debianu/Ubuntu sudo apt install ssh # Fedora sudo dnf install openssh

scp-transfer-linux-01-installing-ssh.png Jak bezpečně přenášet soubory v Linuxu pomocí SCP

V závislosti na vaší distribuci možná budete muset povolit SSH přes některé softwarové brány firewall. V Ubuntu tento problém neexistuje, ale v Fedora Budete také muset spustit následující příkazy:

sudo firewall-cmd --add-service=ssh --permanent sudo firewall-cmd --reload

scp-transfer-linux-02-fedora-enable-firewall.png Jak bezpečně přenášet soubory v Linuxu pomocí SCP

Připojte se k systému přes SSH

Než se budete moci připojit přes SSH, musíte znát IP adresu vzdáleného serveru. Na grafických serverech se IP adresa objeví v apletu Síť v nastavení systému. Na většině serverů musíte použít příkaz ip v terminálu.

ip addr

scp-transfer-linux-04-check-ip-address.png Jak bezpečně přenášet soubory v Linuxu pomocí SCP

Ve výstupu najděte řádek, který začíná inet v rámci ethXenpXsy v závislosti na tom, jak se vaše síťové rozhraní připojuje k systému. V mém případě ano 192.168.68.108.

testovat SSH připojení , přejděte na Zařízení Linux jiný a typ:

změna "uživatel" ىلى uživatelské jméno skutečný server.

scp-transfer-linux-05-connecting-to-remote-server.png Jak bezpečně přenášet soubory v Linuxu pomocí SCP

Vstupte Heslo Tento účet a vy pracujete. Pokud dostanete otázku o "Autenticitu hostitele nelze prokázat." Stačí odpovědět s "Ano". Je to bezpečnostní kontrola navržená tak, aby se ujistila, že jste připojeni ke svému skutečnému serveru a nejedná se o podvod. Na klientském systému byste měli vidět stejnou výzvu jako při přímém přihlášení k serveru, což znamená, že vaše připojení bylo úspěšné. Měli byste také nakonfigurovat připojení SSH pro maximální zabezpečení nebo dokonce Nastavte dvoufaktorové ověřování , než přejdete k dalšímu kroku.

Přečtěte si také:  Na Linux si můžete nainstalovat oblíbený software pro správu archivů WinRAR

K přenosu souborů použijte SCP

Nyní, když jste otestovali připojení SSH, začněte kopírovat soubory mezi dvěma zařízeními. Bezpečné kopírování je dosaženo pomocí příkazu scp. Základní formát příkazu scp je:

scp /PATH/TO/FILE USER@IP-ADDRESS:PATH/TO/DESIRED/DESTINATION

Například ke zkopírování souboru "backup.tar.gz" Z místního počítače do složky "backup.tar.gz" v domovském adresáři uživatele "ramces" Na vzdáleném serveru s adresou IP 192.168.68.165 , použijte:

scp backup.tar.gz [chráněno e-mailem]:~/zálohy/

scp-transfer-linux-06-basic-copying.png Jak bezpečně přenášet soubory v Linuxu pomocí SCP

Podobně jako když se připojujete pomocí ssh, budete vyzváni k zadání hesla. Nebudete vyzváni k zadání uživatelského jména, jak je uvedeno v příkazu.

Můžete také použít zástupné znaky, jako jsou následující:

scp *.tar.gz [chráněno e-mailem]:~/zálohy/

scp-transfer-linux-07-glob-matching-copy.png Jak bezpečně přenášet soubory v Linuxu pomocí SCP

Chcete-li zkopírovat soubor ze vzdáleného serveru na místní počítač, stačí obrátit parametry:

Scp [chráněno e-mailem]:~/backups/backup.tar.gz ./

scp-transfer-linux-08-inverse-copying.png Jak bezpečně přenášet soubory v Linuxu pomocí SCP

Všimli jste si bodu na konci? To znamená "aktuální složka" , Stejně jako u cp standardní příkazyatd. Pokud chcete, můžete snadno vybrat jiný adresář.

scp -r [chráněno e-mailem]:~/backups/backups-from-server/

A to samé s divokými kartami:

Scp [chráněno e-mailem]:~/backups/*.txz ./

Chcete-li rekurzivně zkopírovat adresář na vzdálený server, použijte možnost -r:

scp -r zálohy/ [chráněno e-mailem]:~/zálohy/

scp-transfer-linux-09-recursive-copying.png Jak bezpečně přenášet soubory v Linuxu pomocí SCP

Chcete-li zkopírovat duplicitní kopii adresáře ze vzdáleného serveru na místní počítač, použijte:

scp -r [chráněno e-mailem]:~/zálohy/ ./

scp-transfer-linux-10-reverse-recursive-copying.png Jak bezpečně přenášet soubory v Linuxu pomocí SCP

Komprese přenosu souborů v SCP

Kromě základního kopírování je také možné upravovat chování SCP při těchto přenosech souborů. Můžete například použít značku -C Chcete-li komprimovat data, která SCP odesílá vzdáleným klientům:

scp -C backup.tar.gz [chráněno e-mailem]:/home/ramces/

Tato možnost funguje tak, že komprimuje každý datový paket při odesílání přes SCP. Jako takové to může být neuvěřitelně užitečné, pokud používáte připojení s omezenou šířkou pásma a chcete spolehlivě odeslat soubor na vzdálený server.

scp-transfer-linux-11-data-compression-copy.png Jak bezpečně přenášet soubory v Linuxu pomocí SCP

Podobně jako výše uvedené možnosti můžete také použít -C spolu se značkou -r Komprimujte soubory a přenášejte je rekurzivně na vzdálený počítač. Například následující příkaz zkomprimuje a obnoví soubor "backup.tar.gz" Z mého vzdáleného serveru:

scp-Cr [chráněno e-mailem]:/home/ramces/backups /home/ramces/

scp-transfer-linux-12-reverse-data-compression-copy.png Jak bezpečně přenášet soubory v Linuxu pomocí SCP

Optimalizujte přenos dat pomocí SCP

Z větší části se SCP snaží využít šifrovací algoritmus AES-128 pro všechny přenosy souborů. Existují však případy, kdy tento konkrétní algoritmus nebude vhodný pro soubory, které chcete přenést.

Přečtěte si také:  Komplexní průvodce konfigurací nastavení zavaděče GRUB2 na systémech Linux

S tímto vědomím je možné dále zlepšovat a zabezpečovat SCP přímou změnou šifrovacího algoritmu pro konkrétní přenos. Chcete-li to provést, musíte použít značku -c následovaný kódem, který chcete použít.

Například následující příkaz přesune soubor "backup.tar.gz" na můj vzdálený server pomocí AES-256:

scp -c aes256-ctr ./backup.tar.gz [chráněno e-mailem]:/home/ramces/

scp-transfer-linux-13-change-default-cipher.png Jak bezpečně přenášet soubory v Linuxu pomocí SCP

Navíc vám dává možnost -c Uveďte také seznam šifer, které chcete použít k přenosu konkrétního souboru. Například následující příkaz používá obojí AES-192 و AES-256 při přenosu souboru "backup.tar.gz" Na můj vzdálený server:

scp -c aes192-ctr, aes256-ctr ./backup.tar.gz [chráněno e-mailem]:/home/ramces/

scp-transfer-linux-14-create-cipher-preference-list.png Jak bezpečně přenášet soubory v Linuxu pomocí SCP

Omezte využití šířky pásma v SCP

Zatímco komprese paketů souborů vám může pomoci používat SCP ve špatných podmínkách sítě, může také omezit šířku pásma, kterou program používá během přenosu. To je užitečné v případech, kdy používáte omezené připojení a nechcete, aby SCP převzalo šířku pásma vaší sítě.

Chcete-li omezit efektivní šířku pásma programu, musíte použít tag -l následuje maximální požadovaná částka V kilobitech za sekundu (Kb/s). Například spuštění následujícího příkazu přesune soubor "backup.tar.gz" Na můj vzdálený server s efektivní šířkou pásma 1600 Kb/s:

scp -l 1600 ./backup.tar.gz [chráněno e-mailem]:/home/ramces/

scp-transfer-linux-15-limit-bandwidth-during-copy.png Jak bezpečně přenášet soubory v Linuxu pomocí SCP

Tele-to-tele s SCP

Kromě kopírování místních souborů na vzdálený server a naopak můžete také použít SCP ke správě více vzdálených serverů z místního počítače, protože SCP zpracovává pouze přenosy souborů a nerozlišuje mezi místním počítačem a vzdáleným počítačem.

Pro přenos mezi dvěma vzdálenými servery musíte explicitně uvést uživatelské jméno a adresu každého z těchto strojů. Například spuštění následujícího příkazu přesune soubor "remote-backup.tar.gz" můj mezi dvěma vzdálenými servery:

Scp [chráněno e-mailem]:/home/ramces/remote-backup.tar.gz [chráněno e-mailem]:/home/ramces/

scp-transfer-linux-16-remote-to-remote-copy.png Jak bezpečně přenášet soubory v Linuxu pomocí SCP

Použijte proxy s SCP

Ve výchozím nastavení používá SCP při přenosu souborů mezi dvěma různými hostiteli IP adresu vašeho místního počítače. I když je to v normálních situacích naprosto v pořádku, může to být problém, pokud vaše místní síť omezuje jakoukoli aktivitu SCP. Jedním rychlým způsobem, jak se s tímto problémem vypořádat, je předat místní připojení přes SSH proxy.

Chcete-li to provést, musíte použít značku -o následuje možnost ProxyCommand. To vám umožní vytvořit základní připojení SSH k novému zařízení, které zase provede váš příkaz SCP. Například spuštěním následujícího vytvoříte nového agenta SSH na vzdáleném počítači a přenesete soubor "backup.tar.gz" používat to:

scp -o "ProxyCommand ssh [chráněno e-mailem] nc %h %p" ./backup.tar.gz [chráněno e-mailem]:/home/ramces/

scp-transfer-linux-17-ssh-proxy-bypass.png Jak bezpečně přenášet soubory v Linuxu pomocí SCP

Změňte výchozí port v SCP

Kromě vytvoření základního SSH proxy můžete také změnit výchozí port pro SCP. To je zvláště užitečné, pokud zabezpečujete linuxový server a nechcete odhalovat žádné virtuální porty.

Přečtěte si také:  Existují placené linuxové distribuce a co je odlišuje od těch bezplatných?

Chcete-li použít SCP s jiným portem, musíte použít příznak -P následované číslem portu, který chcete použít. Například následující příkaz zkopíruje adresář "Záloha" rekurzivně a připojte se ke vzdálenému serveru pomocí portu 2222:

scp -r -P 2222 ./záloha [chráněno e-mailem]:/home/ramces/

scp-transfer-linux-18-using-custom-port.png Jak bezpečně přenášet soubory v Linuxu pomocí SCP

Použijte tichý režim SCP

Nakonec je také možné zcela odstranit jakýkoli terminálový výstup z příkazu SCP. To je zvláště užitečné, pokud chcete vytvořit neinteraktivní skript, který běží ve vašem terminálu. Nejen to, ale tento proces můžete také plně automatizovat tvorbou Cronjob a přenést SSH klíč soukromé pro váš server.

Chcete-li vytvořit tichý přenos SCP, musíte použít příznak -q. Například následující příkaz přesune soubor "backup.tar.gz" tiše na můj vzdálený server:

scp -q ./backup.tar.gz [chráněno e-mailem]:/home/ramces/

scp-transfer-linux-19-quiet-mode.png Jak bezpečně přenášet soubory v Linuxu pomocí SCP

Často kladené otázky

Q1: Můj dálkový ovladač pro teleport nefunguje v SCP. Jak to mohu opravit?
Odpovědět. Tento problém je pravděpodobně způsoben zablokovaným portem v jednom z konfiguračních souborů vzdáleného počítače. Chcete-li to vyřešit, ujistěte se, že výchozí port pro SSH je otevřený na obou zařízeních.

Tento problém může být také způsoben tím, že jeden z vašich vzdálených počítačů je za připojením CG-NAT, takže jakékoli externí připojení ke vzdálenému počítači nebude správně vyřešeno. Chcete-li tento problém vyřešit, musíte použít Software VLAN , Jako Yggdrasil , která vám umožní projít CG-NAT.

Otázka 2: Zapnul jsem SCP proxy a vzdálený hostitel ukončil připojení. Co můžu dělat?
Odpovědět. Tento problém je s největší pravděpodobností způsoben problémem s vaším proxy počítačem. Chcete-li správně spustit agenta SSH, ujistěte se, že počítač, který chcete použít, má server OpenSSH a netcat. Chcete-li tyto programy nainstalovat do Ubuntu Spusťte následující příkaz: sudo apt install ssh netcat.

Q3: Je možné zjistit všechny dostupné šifry pro SCP?
Odpovědět. Ve výchozím nastavení SCP silně spoléhá na protokol SSH pro své šifrovací funkce. Z tohoto důvodu můžete použít skript SSH k vytištění seznamu šifer, které můžete použít spolu s SCP. Můžete například běhat ssh -Q šifry Vytiskne krátký seznam všech dostupných šifer na vašem zařízení.

Přejít na horní tlačítko