SSH file transfer protocol

SSH File Transfer Protocol (zkratka SFTP) označuje v informatice protokol a zároveň i program pro bezpečný přenos souborů pomocí počítačové sítě. Jeho možnosti jsou obdobné jako u FTP a také je využíván jako náhrada za velmi jednoduchý protokol SCP. Pro vlastní přenos dat využívá SFTP obvykle SSH-2, ale je navržen tak, aby ho bylo možné používat i nad jiným protokolem.

SFTP protokol

Protokol SFTP byl navržen pracovní skupinou IETF jako multiplatformní, takže například expanzi žolíkových znaků na rozdíl od protokolu SCP neponechává na implementaci v serveru. Protokol SFTP sám o sobě nezajišťuje ani autentizaci ani zabezpečení přenášených dat a obvykle k zajištění těchto služeb využívá protokol SSH-2. Je však navržen tak, aby mohl být použit i jakýkoliv jiný protokol. Například protokol SILC pro peer-to-peer sítě definuje SFTP jako svůj implicitní protokol pro přenos dat, avšak data nejsou zabezpečena protokolem SSH, ale je použit vlastní zabezpečený paketový SILC protokol.

Protokol SFTP je možné použít i nad protokolem SSH-1, avšak v tomto případě je narušena nezávislost na architektuře počítače. Protože protokol SSH-1 nepodporuje subsystémy, musí připojující se klient znát plnou cestu k programu SFTP serveru, aby si mohl sám spustit serverovou část.

Na rozdíl od jednoduchého protokolu SCP nabízí SFTP protokol široké možnosti pro doplňující operace se soubory (podobně jako FTP), takže bychom ho mohli označit i za jednoduchý vzdálený souborový systém. Umožňuje pokračovat v přerušených přenosech, vypisovat adresáře i odstraňovat soubory na vzdáleném počítači.

Historie vývoje

Pracovní skupina "Secsh" z Internet Engineering Task Force (zkratka IETF, česky „Komise techniky Internetu“), která je zodpovědná za vývoj protokolu SSH verze 2 (RFC 4251), se také pokusila o návrh jeho rozšíření pro bezpečný přenos souborů. Byly vytvořeny Internetové koncepty, které úspěšně revidovaly protokol do nových verzí.[1] Softwarový průmysl začal implementovat různé verze protokolu ještě před standardizací návrhů. Jak vývoj pokračoval, rozsah projektu Secsh File Transfer se rozšířil o přístup k souborům a souborový systém. Vývoj se nakonec zastavil, když někteří členové komise začali vnímat SFTP jako souborový systém, nejen jako protokol přenosu souborů, což SFTP umísťuje mimo dosah pracovní skupiny.[2]

V roce 2006 je poslední revizí výše zmíněné skupiny verze 6.[1] Protokol není Internetový standard, je ale implementován velmi široce.

Verze 3

Na počátku projektu Secure Shell File Transfer uvedla skupina Secsh, že cílem protokolu SSH File Transfer bylo poskytnout funkci bezpečného přenosu souborů přes jakýkoli spolehlivý datový tok, a že to měl být standardní protokol pro přenos souborů používaný s protokolem SSH-2.

Návrhy 00 – 02 od IETF Internet Draft definují postupné revize verze 3 protokolu SFTP.

  • SSH File Transfer Protocol, návrh 00, leden 2001
  • SSH File Transfer Protocol, návrh 01, březen 2001
  • SSH File Transfer Protocol, návrh 02, říjen 2001

Verze 4

Návrhy 03 – 04 od IETF Internet Draft definují protokolovou verzi 4.

  • SSH File Transfer Protocol, návrh 03, říjen 2002
  • SSH File Transfer Protocol, návrh 04, prosinec 2002

Verze 5

Návrh 05 od IETF Internet Draft definuje protokolovou verzi 5.

  • SSH File Transfer Protocol, návrh 05, leden 2004

Verze 6

Návrhy 06 – 13 od IETF Internet Draft definují postupné revize verze 6 protokolu SFTP.

  • SSH File Transfer Protocol, návrh 06, říjen 2004
  • SSH File Transfer Protocol, návrh 07, březen 2005
  • SSH File Transfer Protocol, návrh 08, duben 2005
  • SSH File Transfer Protocol, návrh 09, červen 2005
  • SSH File Transfer Protocol, návrh 10, červen 2005
  • SSH File Transfer Protocol, návrh 11, leden 2006
  • SSH File Transfer Protocol, návrh 12, leden 2006
  • SSH File Transfer Protocol, návrh 13, červenec 2006

Program SFTP

Program sftp implementuje klientskou část protokolu SFTP. Je portován na nejrůznější platformy (na rozdíl od programu scp, který nalezneme především v Unixech). Některé implementace programu scp používají pro přenos souborů přednostně protokol SFTP, avšak poskytují i protokol SCP pro případ, že by server protokol SFTP nepodporoval.

V rámci projektu OpenSSH je program sftp implementován jako nástroj pro příkazový řádek. Využívá stejné rozhraní, jako tradiční řádkový klient pro FTP protokol.

Související články

Reference

V tomto článku byl použit překlad textu z článku SSH File Transfer Protocol na anglické Wikipedii.

  1. a b https://datatracker.ietf.org/doc/draft-ietf-secsh-filexfer/
  2. osdir.com [online]. [cit. 2012-01-03]. Dostupné v archivu pořízeném dne 2012-03-20. 
Protokoly počítačových sítí a internetu podle modelu ISO/OSI
Aplikační vrstva – 7
BitTorrentDNSBOOTPDHCPFTPGopherHTTPHTTPSIMAPIRCIdentNNTPNFSNTPPOP3RTPSIPSMBSMTPSNMPSSHSTUNTelnetXMPP
Prezentační vrstva – 6
Relační vrstva – 5
SPDYSSL-TLSNetBIOSRPCSMBNFS
Transportní vrstva – 4
DCCPRUDPSCTPTCPUDP
Síťová vrstva – 3
IPv4IPv6ICMPIGMP … adresování • směrování
Linková vrstva – 2
EthernetFDDIPPPToken ringWi-Fi ... sběrniceARPProxy ARPRARP
Fyzická vrstva – 1
10Base510Base210BASE-T100BASE-TX1000BASE-TRS-232RS-422 • RS-449 • RS-485
topologie sítí