SSH file transfer protocol

SSH file transfer protocol

In computing, the SSH File Transfer Protocol (sometimes called Secure File Transfer Protocol or SFTP) is a network protocol that provides file transfer and manipulation functionality over any reliable data stream. It is typically used with version two of the SSH protocol (TCP port 22) to provide secure file transfer, but is intended to be usable with other protocols as well.

Capabilities

Compared to the earlier SCP protocol, which allows only file transfers, the SFTP protocol allows for a range of operations on remote files – it is more like a remote file system protocol. An SFTP client's extra capabilities compared to an SCP client include resuming interrupted transfers, directory listings, and remote file removal. For these reasons it is relatively simple to implement a GUI SFTP client compared with a GUI SCP client.

SFTP attempts to be more platform-independent than SCP; for instance, with SCP, the expansion of wildcards specified by the client is up to the server, whereas SFTP's design avoids this problem. While SCP is most frequently implemented on Unix platforms, SFTP servers are commonly available on most platforms.

SFTP is not FTP run over SSH, but rather a new protocol designed from the ground up by the IETF SECSH working group. It is sometimes confused with Simple File Transfer Protocol.

The protocol itself does not provide authentication and security; it expects the underlying protocol to secure this. SFTP is most often used as subsystem of SSH protocol version 2 implementations, having been designed by the same working group. However, it is possible to run it over SSH-1 (and some implementations support this) or other data streams. Running SFTP server over SSH-1 is not platform independent as SSH-1 does not support the concept of subsystems. An SFTP client willing to connect to an SSH-1 server needs to know the path to the SFTP server binary on the server side.

The Secure Internet Live Conferencing (SILC) protocol defines the SFTP as its default file transfer protocol. In SILC the SFTP data is not protected with SSH but SILC's secure packet protocol is used to encapsulate the SFTP data into SILC packet and to deliver it peer-to-peer. This is possible as SFTP is designed to be protocol independent.

For uploads, the transferred files may be associated with their basic attributes, such as timestamps. This is an advantage over the common FTP protocol, which does not have provision for uploads to include the original date/timestamp attribute.

tandardization

The protocol is not yet an Internet standard. The latest specification is an expired Internet Draft, which defines version 6 of the protocol. Currently the most widely used version is 3, implemented by the popular OpenSSH SFTP server. Many Microsoft Windows-based SFTP implementations use version 4 of the protocol, which lessened its ties with the Unix platform.

The Internet Engineering Task Force (IETF) "Secsh Status Pages" search tool contains links to all versions of the Internet draft-ietf-secsh-filexfer which describes this protocol.

FTP client

The term SFTP can also refer to Secure file transfer program, a command-line program that implements the client part of this protocol, such as that supplied with OpenSSH. The sftp program provides an interactive interface similar to that of traditional FTP clients.

Some implementations of the scp "program" actually use the SFTP "protocol" to perform file transfers; however, some such implementations are still able to fallback to the SCP protocol if the server does not provide SFTP service.

FTP server

There are numerous SFTP server implementations both for UNIX and Windows. The most widely known is perhaps OpenSSH, but there are also proprietary implementations.

FTP proxy

The adoption of SFTP is hindered somewhat because it is difficult to control SFTP transfers on security devices at the network perimeter. There are standard tools for logging FTP transactions, like TIS fwtk or SUSE FTP proxy, but SFTP is encrypted, rendering traditional proxies ineffective for controlling SFTP traffic.

There are some tools that implement man-in-the-middle for SSH which also feature SFTP control: such a tool is Shell Control Box from BalaBit. These provide SFTP transaction logging as well as logging the actual data transmitted on the wire.

References

* [http://tools.ietf.org/wg/secsh/draft-ietf-secsh-filexfer/ IETF Secsh Status Pages]
* [http://winscp.net/eng/docs/protocols#protocol_comparison Comparison with SCP]

ee also

*List of file transfer protocols
*List of SFTP server software
*Comparison of FTP client software (including SFTP)
*FISH
*FTP
*FTPS
*Secure copy (SCP)
*SSHFS - Mounting remote filesystem using SFTP and SSH
*WinSCP - Free Windows client with SFTP capability
*FileZilla - Open source cross-platform GUI client
*FireFTP - Free, open source, cross-platform GUI client
*Cyberduck - Free, open source OS X GUI client


Wikimedia Foundation. 2010.

Игры ⚽ Нужен реферат?

Look at other dictionaries:

  • SSH File Transfer Protocol — (también conocido como SFTP o Secure File Transfer Protocol) es un protocolo del nivel de aplicación que proporciona la funcionalidad necesaria para la transferencia y manipulación de archivos sobre un flujo de datos fiable. Se utiliza comúnmente …   Wikipedia Español

  • SSH file transfer protocol — Le mot SFTP peut faire référence à d autres protocoles de communication que celui ci. Dans le contexte de Secure Shell (SSH), SFTP décrit ces deux choses ci : un protocole de communication fonctionnant au dessus de SSH pour transférer et… …   Wikipédia en Français

  • Ssh file transfer protocol — Le mot SFTP peut faire référence à d autres protocoles de communication que celui ci. Dans le contexte de Secure Shell (SSH), SFTP décrit ces deux choses ci : un protocole de communication fonctionnant au dessus de SSH pour transférer et… …   Wikipédia en Français

  • SSH File Transfer Protocol — SFTP im TCP/IP‑Protokollstapel: Anwendung SFTP SSH Transport TCP Internet IP (IPv4, IPv6) Netzzugang …   Deutsch Wikipedia

  • SSH File Transfer Protocol — SFTP (англ. SSH File Transfer Protocol) протокол прикладного уровня, предназначенный для копирования и выполнения других операций с файлами поверх надёжного и безопасного соединения. Как правило, в качестве базового протокола, обеспечивающего… …   Википедия

  • SSH File Transfer Protocol — Pour d autres protocoles de communication que celui ci, voir SFTP. Dans le contexte de Secure Shell (SSH), SFTP décrit ces deux choses ci : un protocole de communication fonctionnant au dessus de SSH pour transférer et gérer des fichiers à… …   Wikipédia en Français

  • File Transfer Protocol — (FTP) is a network protocol used to transfer data from one computer to another through a network such as the Internet.FTP is a file transfer protocol for exchanging and manipulating files over a TCP computer network. A FTP client may connect to a …   Wikipedia

  • File Transfer Protocol — (FTP) Familia: Familia de protocolos de Internet Función: protocolo de transferencia de archivos Puertos: 20/TCP DATA Port 21/TCP Control Port Ubicación en la pila de protocolos Aplicaci …   Wikipedia Español

  • File Transfer Protocol — FTP (File Transfer Protocol) Familie: Internetprotokollfamilie Einsatzgebiet: Datenübertragung, Dateiverwaltung Port: 20/TCP DATA Port, 21/TCP Control Port FTP im TCP/IP‑Protokollstapel: Anwendung FTP …   Deutsch Wikipedia

  • File transfer protocol — Pour les articles homonymes, voir FTP. Pile de protocoles 7 • Application 6 • …   Wikipédia en Français

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”