Simple File Transfer Protocol (SFTP) je protokol, který se používá k přenosu souborů mezi dvěma zařízeními přes internet. Běží přes File Transfer Protocol (FTP) a Secure Shell (SSH).
Zatímco protokol přenáší soubory, chrání také před odposloucháváním hesel, útokem typu man-in-the-middle a vystavením citlivých dat. Zachovává také integritu dat pomocí šifrovacích a kryptografických hašovacích funkcí. Před poskytnutím přístupu také ověří klienta i server. To umožňuje bezpečný přenos souborů.
Zde na LinuxAPT se podíváme na to, jak můžete snadno vyměňovat soubory mezi místními a vzdálenými počítači pomocí tohoto super praktického protokolu pro přenos souborů.
Zde použijeme Linux Mint Cinamon 20.02 jako náš místní počítač a Ubuntu 20.04 LTS jako vzdálený stroj.
V první části uvidíte, jak přenést soubor ze vzdáleného počítače na místní počítač. V další části uvidíte, jak přenést soubor z místního počítače na vzdálený počítač.
Chcete-li zjistit, jak můžete nastavit server ProFTPD na Linux Mint 20, navštivte:https://linuxapt.com/blog/1032-install-proftpd-on-linux-mint-20
a. Kroky k přenosu souboru ze vzdáleného počítače do místního počítače
1. SSH na vzdálený počítač
Chcete-li začít, vytvořte připojení SSH ke vzdálenému počítači. Chcete-li to provést, nejprve se staňte superuživatelem pomocí následujícího příkazu:
$ sudo -i
Nyní, když jste se stali superuživatelem, ssh na vzdálený počítač (192.168.10.23), se kterým chcete komunikovat, získáte soubor.
$ ssh [email protected]
2. Najděte soubor, který chcete přenést
Nyní vyhledejte soubor, který chcete zkopírovat. V tomto tutoriálu vytvoříme nový soubor, který jej přeneseme do mého místního počítače.
Chcete-li to provést, přejděte do adresáře /etc spuštěním příkazu níže:
$ cd /etc
Pomocí dotykového příkazu vytvořím nový soubor s názvem "transfer.txt":
$ touch transfer.txt
3. Navažte SFTP spojení se vzdáleným počítačem
Nyní se připojíme ke vzdálenému počítači pomocí sftp:
$ sftp [email protected]
Pokud vidíte sftp napsaný takto:
sftp> pwd
Remote working directory: /home
To znamená, že jste v režimu sftp. Nyní si místní a vzdálené počítače mohou vyměňovat soubory pomocí tohoto protokolu.
4. Zkontrolujte, se kterými adresáři sftp spolupracuje
Než se pustíme do přenosu souborů, pojďme se trochu zorientovat, abychom pochopili, se kterými adresáři sftp interaguje. Spusťte níže uvedený příkaz a zjistěte svůj aktuální pracovní adresář:
$ pwd
Chcete-li zobrazit aktuální pracovní adresář místního počítače, použijeme:
lpwd
Můžeme také změnit adresář, se kterým chceme pracovat. Je součástí druhé části této příručky.
5. Přeneste soubor
Přejděte do adresáře /etc, kde jsme vytvořili soubor transfer.txt:
$ cd /etc
Chcete-li odeslat soubor ze vzdáleného počítače na místní počítač, použijeme příkaz get následovaný názvem souboru:
$ get transfer.txt
Fetching /etc/transfer.txt to transfer.txt
Nyní přejděte do kořenového adresáře místního systému pomocí následujícího příkazu:
$ cd ~
Pomocí ls zobrazíte všechny soubory v adresáři:
$ ls
Nyní uvidíte, že soubor transfer.txt je nyní v našem místním počítači.
Po ukončení relace sftp můžete přenést soubor z kořenového adresáře do jakékoli jiné složky na vašem počítači.
b. Přeneste soubor z místního počítače na vzdálený počítač
Na našem místním počítači máme další soubor test.txt v následující adresářové cestě:
$ /home/linuxAPT/Downloads/folder
Odtud jej přeneseme na náš vzdálený počítač.
1. Připojte se ke vzdálenému počítači pomocí SFTP:
$ sftp [email protected]
2. Změňte místní adresář sftp interaguje s
Místní aktuální pracovní adresář je:
$ lpwd
Local working directory: /root
Jak již bylo řečeno, můžeme změnit místní adresář, se kterým má sftp pracovat. Chcete-li to provést, použijte příkaz lcd:
$ lcd /home/linuxAPT/Downloads/folder
Předtím sftp interagoval s kořenovým adresářem místního počítače. Nyní bude interagovat s adresářem /home/linuxAPT/Downloads/folder. Můžete to potvrdit následujícím příkazem:
$ lpwd
working directory: /home/linuxAPT/Downloads/folder
4. Přeneste soubor
Dále použijeme příkaz put k přenosu souboru z místního počítače na vzdálený počítač:
$ put test.txt
uploading test.txt to /home
Nyní spusťte příkaz ls a zjistěte, zda byl soubor úspěšně přenesen do adresáře /home vzdáleného počítače:
$ ls
Nyní je soubor, který jsme přenesli, zde ve vzdáleném počítači.
Nyní můžete relaci ukončit jednoduchým příkazem bye:
$ bye