Úvod
SFTP (Safe File Transfer Protocol) je součástí protokolu SSH určeného k bezpečnému přenosu souborů mezi vzdálenými systémy. Umožňuje uživatelům prohlížet, spravovat a měnit oprávnění k souborům a adresářům na vzdálených systémech.
V tomto tutoriálu si projdeme příkazy, které můžete použít s SFTP, a pro každý z nich poskytneme vysvětlení, možnosti a příklady.
 Předpoklady
- Přístup k místnímu systému a vzdálenému serveru připojený pomocí páru veřejných klíčů SSH.
 - Fungující připojení k internetu.
 - Přístup do okna terminálu.
 
Seznam příkazů a možností SFTP
SFTP umožňuje uživatelům přenášet data mezi vzdáleným serverem SFTP a místním klientským systémem. SFTP používá síťový protokol SSH k propojení dvou systémů, které sdílejí veřejný klíč SSH.
Připojením k serveru SFTP se otevře rozhraní shellu SFTP. Rozhraní prostředí SFTP podporuje následující příkazy:
| Příkaz | Popis | 
cd [path]   |  Změňte adresář na vzdáleném serveru na [path]  . |  
lcd [path]   |  Změňte adresář v místním systému na [path]  . |  
chgrp [group ID] [path]   |  Změnit vlastnictví skupiny na [group ID]  pro soubor nebo složku umístěnou na [path]  . |  
chmod [mode] [path]   |  Změnit vlastnictví na [mode]  pro soubor nebo složku umístěnou na [path]  . |  
chown [user ID] [path]   |  Změnit vlastnictví uživatele na [user ID]  pro soubor nebo složku umístěnou na [path]  . |  
help   |  Zobrazte text nápovědy. | 
get [remote path] [local path]   |  Přeneste soubor nebo adresář z [remote path]  na vzdáleném serveru na [local path]  v místním systému. |  
lls [options] [path]   |  Zobrazit výpis pro adresář umístěný na [path]  na místním systému. Používá ls  možnosti příkazů. |  
ln [old path] [new path]   |  Vytvořte symbolický odkaz ze [old path]  na [new path]  na vzdáleném serveru. |  
lmkdir [path]   |  Vytvořte adresář na [path]  v místním systému. |  
lpwd   |  Zobrazit aktuální místní adresář. | 
ls [options] [path]   |  Zobrazit výpis pro adresář umístěný na [path]  na vzdáleném serveru. Používá ls  možnosti příkazů. |  
lumask [mask]   |  Nastavit masku místních oprávnění na [mask]  . |  
mkdir [path]   |  Vytvořte adresář na [path]  na vzdáleném serveru. |  
put [local path] [remote path]   |  Přeneste soubor nebo adresář z [local path]  v místním systému na [remote path]  na vzdáleném serveru. |  
pwd   |  Zobrazit aktuální vzdálený adresář. | 
exit   |  Opusťte rozhraní SFTP. | 
exit   |  Opusťte rozhraní SFTP. | 
rename [old path] [new path]   |  Přejmenujte soubor na vzdáleném serveru z [old path]  na [new path]  . |  
rmdir [path]   |  Odeberte adresář umístěný na [path]  na vzdáleném serveru. |  
rm [path]   |  Odeberte soubor umístěný na [path]  na vzdáleném serveru. |  
symlink [old path] [new path]   |  Vytvořte symbolický odkaz ze [old path]  na [new path]  na vzdáleném serveru. |  
version   |  Zobrazit aktuální verzi SFTP | 
![command]   |  Spustit <strong>[command]</strong>  v místním prostředí. |  
!   |  Dočasně přejít do místního prostředí. | 
?   |  Zobrazte text nápovědy. | 
Připojování k SFTP
Připojení k SFTP používá stejnou syntaxi jako připojení ke vzdálenému systému pomocí SSH:
sftp [username]@[remote hostname or IP address] Například připojení k serveru pomocí phoenixnap uživatelské jméno na IP adrese 192.168.100.7 :
sftp [email protected] 
 Pokud je připojení úspěšné, shell se přesune do rozhraní SFTP, což je označeno sftp>  místo aktuálního uživatelského jména:
 
 Při připojování ke vzdálenému systému pomocí SFTP použijte s sftp následující možnosti  příkaz pro změnu jeho chování:
| Možnost | Popis | 
-1   |  Při připojování použijte verzi 1 protokolu SSH. | 
-4   |  Používejte pouze adresy IPv4. | 
-6   |  Používejte pouze adresy IPv6. | 
-A   |  Umožňuje předávání ověřovacího agenta SSH na vzdálený server. | 
-a   |  Pokuste se pokračovat v přerušených přenosech souborů. | 
-B [buffer size]   |  Nastavte vlastní velikost vyrovnávací paměti (výchozí hodnota je 32 768 bajtů). | 
-b [batch file]   |  Zadejte dávkový soubor pro spuštění sftp  příkaz v dávkovém režimu. |  
-C   |  Použít kompresi souborů. | 
-c [cipher]   |  Vyberte šifru, která se použije při šifrování dat pro přenos. | 
-D [SFTP server path]   |  Připojte se k místnímu serveru SFTP bez použití SSH. | 
-F [SSH configuration file]   |  Určete konfigurační soubor SSH, který se má použít při připojování. | 
-f   |  Vyprázdněte soubory na disk ihned po přenosu. | 
-i [private key file]   |  Vyberte soubor, který obsahuje soukromý klíč pro ověření veřejného klíče. | 
-J [destination]   |  Nastavte předávání TCP přes zadaný cíl. | 
-l [kbit/s]   |  Nastavte limit pro šířku pásma připojení v kbit/s. | 
-N   |  Zakažte tichý režim. | 
-o [SSH option]   |  Při připojování k SFTP přidejte možnost příkazu ssh. | 
-P [port number]   |  Nastavte port, ke kterému se chcete připojit. | 
-p   |  Při přenosu zachovejte oprávnění k souboru a doby přístupu. | 
-q   |  Povolte tichý režim. | 
-R [number of requests]   |  Nastavte počet povolených souběžných požadavků na přenos souborů. | 
-r   |  Přenášejte adresáře rekurzivně. | 
-S [client]   |  Určete klienta SFTP, kterého chcete použít k připojení. | 
-s [SSH subsystem or SFTP server path]   |  Vyberte cestu podsystému SSH2 nebo serveru SFTP. | 
-v   |  Uchovávejte podrobný protokol relace. | 
 Použijte exit  příkaz k ukončení aktuálního připojení:
exit Přenos souborů
 Použijte get  a put  příkazy k vytvoření požadavku na přenos souboru v SFTP. get  příkaz přenese soubory ze vzdáleného serveru do místního systému, zatímco put  příkaz dělá opak.
 get  používá následující základní syntaxi:
get [path to file] 
 Pomocí get  příkaz přenese soubor ze vzdáleného serveru do Domů místního systému adresář. Například:
get example01.txt 
 
 Na druhou stranu pomocí put  příkaz přenese soubor z místního systému do Domů vzdáleného serveru adresář:
put example02.txt 
 
 Chcete-li přenést soubor do jiného adresáře, připojte název adresáře na konec get  nebo put  příkaz:
get [path to file] [path to directory]
put [path to file] [path to directory]
 Chcete-li změnit název souboru v místním systému, připojte nový název souboru na konec příkazu:
get [path to file] [new file name]
put [path to file] [new file name]
 
 get  a put  příkazy používají následující možnosti:
| Možnost | Popis | 
-a   |  Pokuste se obnovit přenos souboru. | 
-f   |  Vyprázdněte soubor na disk ihned po přenosu. | 
-p   |  Zachovejte při přenosu oprávnění k souboru a doby přístupu. | 
-R   |  Přeneste celý adresář rekurzivně. Při použití této možnosti definujte cestu k adresáři namísto cesty k souboru. | 
Změna oprávnění k souboru
 SFTP také umožňuje upravit oprávnění k souborům a adresářům na vzdáleném serveru. chown  příkaz změní vlastnictví souboru pro jednotlivé uživatele:
chown [user ID] [path to file] 
 Na rozdíl od chown  příkaz, který vyžaduje ID uživatele, funguje příkaz chmod stejně jako ve standardním shellu:
chmod [permission] [path to file] 
 Další možností je použít chgrp  příkaz ke změně skupinového vlastnictví souboru:
chgrp [group ID] [path to file] 
 SFTP vám také umožňuje nastavit místní umask a změnit výchozí oprávnění pro všechny budoucí soubory přenesené do místního systému. Použijte lumask  příkaz k nastavení nového místního umask:
lumask [permission mask] Správa souborů a adresářů
 SFTP poskytuje možnosti, které uživatelům umožňují kontrolovat a spravovat soubory na místním systému i na vzdáleném serveru. ls  umožňuje vypsat seznam souborů a adresářů na vzdáleném serveru. Například:
ls -l 
 
 Podobně lls  (místní ls  ) zobrazí seznam souborů a adresářů v místním systému:
lls -l 
 
 cd  a lcd  příkazy mění aktuální pracovní adresář na vzdáleném serveru nebo místním systému:
cd [path to directory on the remote server]
lcd [path to directory on the local system]
 Pomocí příkazu mkdir vytvoříte na vzdáleném serveru adresář s cestou, kterou zadáte:
mkdir [path to the new directory on the remote server] Například vytvoření Example_Directory v Domů adresář:
mkdir Example_Directory 
 mkdir  příkaz nemá žádný výstup, takže musíte použít ls  příkaz k ověření výsledku:
 
 Podobně jako tento lmkdir  příkaz vytvoří adresář v místním systému:
lmkdir [path to the new directory on the local system] Pomocí stejného příkladu:
lmkdir Example_Directory 
 
 rename  příkaz změní název souboru nebo adresáře na vzdáleném serveru:
rename [old path] [new path] Například přejmenování example01.txt do sampledoc.txt :
rename example01.txt sampledoc.txt 
 
 Pomocí rm  příkaz odstraní soubor ze vzdáleného serveru:
rm [path to file] Například odstranění souboru sampledoc.txt soubor:
rm sampledoc.txt 
 
 Podobně rmdir  příkaz odebere adresář ze vzdáleného serveru:
rmdir [path to directory] Například odstranění Example_Directory :
rmdir Example_Directory 
 
 ln  a symlink  příkazy vytvoří symbolický odkaz na soubor nebo adresář na vzdáleném serveru:
ln [old path] [new path]
symlink [old path] [new path]
 
 Například vytvoření odkazu na example02.txt s názvem example_link pomocí ln  příkaz:
ln example02.txt example_link 
 
 pwd  příkaz zobrazí aktuální pracovní adresář na vzdáleném serveru jako výstup:
pwd 
 
 Na druhé straně lpwd  příkaz vytvoří výstup, který ukazuje aktuální pracovní adresář v místním systému:
lpwd 
 Spouštění místních příkazů prostředí
SFTP umožňuje spouštět příkazy pomocí místního prostředí přidáním vykřičníku (! ) před příkazem. To umožňuje uživatelům spouštět příkazy, které nejsou součástí standardního shellu SFTP na místním systému.
 SFTP například nepodporuje tree  příkaz v Linuxu. Pomocí místního shellu můžete spustit tento příkaz v rozhraní SFTP:
!tree 
 
 Pomocí vykřičníku (! ) bez příkazu dočasně přesune uživatele do lokálního shellu. Chcete-li se vrátit do prostředí SFTP, použijte exit  příkaz.
 Další příkazy
 Pomocí help  nebo ?  příkazy zobrazí text nápovědy pro rozhraní SFTP. Nápověda poskytuje seznam příkazů dostupných v prostředí SFTP.
 version  zobrazí aktuální verzi nainstalovaného protokolu SFTP:
 SFTP Cheat Sheet PDF
Níže naleznete jednostránkový referenční list obsahující všechny výše uvedené příkazy a možnosti SFTP. Uložte jej jako soubor PDF kliknutím na odkaz níže.
STÁHNOUT SFTP Cheat Sheet