All Topics  
SSH file transfer protocol

 

   Email Print
   Bookmark   Link






 

SSH file transfer protocol



 
 
In computing
Computing

Computing is usually defined as the activity of using and developing computer technology, computer hardware and computer software. It is the computer-specific part of information technology....
, the SSH File Transfer Protocol (sometimes called Secure File Transfer Protocol or SFTP) is a network protocol that provides file transfer
File transfer

File transfer is a generic term for the act of transmission file s over a computer network or the Internet. There are numerous ways and Protocol to transfer files over a network....
 and manipulation functionality over any reliable data stream. It is typically used with version two of the SSH
Secure Shell

Secure Shell or SSH is a network protocol that allows data to be exchanged using a secure channel between two networked devices. Used primarily on Linux and Unix based systems to access shell accounts, SSH was designed as a replacement for TELNET and other Computer security remote Shell s, which send information, notably passwords, in...
 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
Secure copy

Secure Copy or SCP is a means of securely transferring computer files between a local and a remote Server or between two remote hosts, using the Secure Shell protocol....
 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
File system

In computing, a file system is a method for store and organize computer files and the data they contain to make it easy to find and access them....
 protocol.






Discussion
Ask a question about 'SSH file transfer protocol'
Start a new discussion about 'SSH file transfer protocol'
Answer questions from other users
Full Discussion Forum



Encyclopedia


In computing
Computing

Computing is usually defined as the activity of using and developing computer technology, computer hardware and computer software. It is the computer-specific part of information technology....
, the SSH File Transfer Protocol (sometimes called Secure File Transfer Protocol or SFTP) is a network protocol that provides file transfer
File transfer

File transfer is a generic term for the act of transmission file s over a computer network or the Internet. There are numerous ways and Protocol to transfer files over a network....
 and manipulation functionality over any reliable data stream. It is typically used with version two of the SSH
Secure Shell

Secure Shell or SSH is a network protocol that allows data to be exchanged using a secure channel between two networked devices. Used primarily on Linux and Unix based systems to access shell accounts, SSH was designed as a replacement for TELNET and other Computer security remote Shell s, which send information, notably passwords, in...
 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
Secure copy

Secure Copy or SCP is a means of securely transferring computer files between a local and a remote Server or between two remote hosts, using the Secure Shell protocol....
 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
File system

In computing, a file system is a method for store and organize computer files and the data they contain to make it easy to find and access them....
 protocol. An SFTP client
Client (computing)

A client is an Application software or system that accesses a remote service on another computer system, known as a Server , by way of a Computer network....
'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
Graphical user interface

A graphical user interface is a type of user interface which allows people to human-computer interaction such as computers; hand-held devices such as MP3 Players, Portable Media Players or Gaming devices; household appliances and office equipment....
 SFTP client compared with a GUI SCP client.

SFTP attempts to be more platform-independent than SCP; for instance, with SCP, the expansion of wildcard
Wildcard character

The term wildcard character has the following meanings:...
s specified by the client is up to the server, whereas SFTP's design avoids this problem. While SCP is most frequently implemented on Unix
Unix

Unix is a computer operating system originally developed in 1969 by a group of American Telephone & Telegraph employees at Bell Labs, including Ken Thompson , Dennis Ritchie, Douglas McIlroy, and Joe Ossanna....
 platforms, SFTP servers are commonly available on most platforms.

SFTP is not FTP
File Transfer Protocol

File Transfer Protocol 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 Transmission Control Protocol computer network....
 run over SSH
Secure Shell

Secure Shell or SSH is a network protocol that allows data to be exchanged using a secure channel between two networked devices. Used primarily on Linux and Unix based systems to access shell accounts, SSH was designed as a replacement for TELNET and other Computer security remote Shell s, which send information, notably passwords, in...
, but rather a new protocol designed from the ground up by the IETF
Internet Engineering Task Force

The Internet Engineering Task Force develops and promotes Internet standards, cooperating closely with the World Wide Web Consortium and International Organization for Standardization/International Electrotechnical Commission standard bodies and dealing in particular with standards of the TCP/IP and Internet protocol suite....
 SECSH working group
Working Group

Working Group can mean:*Working group, an interdisciplinary group of researchers; or*Working Group , kennel club designation for certain purebred dog breeds; or...
. It is sometimes confused with Simple File Transfer Protocol
Simple File Transfer Protocol

Simple File Transfer Protocol, as defined by RFC 913, was proposed as an file transfer protocol with a level of complexity intermediate between Trivial File Transfer Protocol and 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
Secure Shell

Secure Shell or SSH is a network protocol that allows data to be exchanged using a secure channel between two networked devices. Used primarily on Linux and Unix based systems to access shell accounts, SSH was designed as a replacement for TELNET and other Computer security remote Shell s, which send information, notably passwords, in...
 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)
SILC (protocol)

SILC is a protocol that provides secure synchronous conferencing services over the Internet....
 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.

Standardization


The protocol is not yet an Internet standard
Internet standard

In computer network engineering, an Internet Standard is a normative specification of a technology or methodology applicable to the Internet. Internet Standards are created and published by the Internet Engineering Task Force ....
. The latest specification is an expired Internet Draft
Internet Draft

Internet Drafts is a series of working documents published by the IETF. Typically, they are drafts for Request for Commentss, but may be other works in progress not intended for publication as RFCs....
, which defines version 6 of the protocol. Currently the most widely used version is 3, implemented by the popular OpenSSH
OpenSSH

OpenSSH is a set of computer programs providing encryption communication sessions over a computer network using the Secure Shell protocol. It was created as an open source alternative to the proprietary Secure Shell software suite offered by SSH Communications Security....
 SFTP server. Many Microsoft Windows
Microsoft Windows

Microsoft Windows is a series of software operating systems and graphical user interfaces produced by Microsoft. Microsoft first introduced an operating environment named Windows in November 1985 as an add-on to MS-DOS in response to the growing interest in graphical user interfaces ....
-based SFTP implementations use version 4 of the protocol, which has weakened its ties with the Unix
Unix

Unix is a computer operating system originally developed in 1969 by a group of American Telephone & Telegraph employees at Bell Labs, including Ken Thompson , Dennis Ritchie, Douglas McIlroy, and Joe Ossanna....
 platform.

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

SFTP client

The term SFTP can also refer to Secure file transfer program, a command-line program
Computer program

Computer programs are Instruction for a computer. A computer requires programs to function. Moreover, a computer program does not run unless its instructions are executed by a Central processing unit; however, a program may communicate an Algorithm#Formalization of algorithms to people without running....
 that implements the client
Client (computing)

A client is an Application software or system that accesses a remote service on another computer system, known as a Server , by way of a Computer network....
 part of this protocol, such as that supplied with OpenSSH
OpenSSH

OpenSSH is a set of computer programs providing encryption communication sessions over a computer network using the Secure Shell protocol. It was created as an open source alternative to the proprietary Secure Shell software suite offered by SSH Communications Security....
.

The sftp program provides an interactive interface similar to that of traditional FTP
File Transfer Protocol

File Transfer Protocol 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 Transmission Control Protocol computer network....
 clients.

Some implementations of the scp
Secure copy

Secure Copy or SCP is a means of securely transferring computer files between a local and a remote Server or between two remote hosts, using the Secure Shell protocol....
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.

SFTP 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.

SFTP 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.

See also


  • List of file transfer protocols
    List of file transfer protocols

    A list of notable file transfer protocols:...
  • List of SFTP server software
  • Comparison of FTP client software (including SFTP)
  • FISH
  • FTP
    File Transfer Protocol

    File Transfer Protocol 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 Transmission Control Protocol computer network....
  • FTPS
    FTPS

    FTPS is an extension to the commonly used File Transfer Protocol that adds support for the Transport Layer Security and the Secure Sockets Layer cryptographic protocols....
  • Secure copy
    Secure copy

    Secure Copy or SCP is a means of securely transferring computer files between a local and a remote Server or between two remote hosts, using the Secure Shell protocol....
     (SCP)
  • SmartFTP
    SmartFTP

    SmartFTP is an File Transfer Protocol FTP client for Microsoft Windows, developed by SmartSoft Ltd. Features include Transport Layer Security, IPv6 and FXP support, a backup tool, a transfer queue, Proxy server and Firewall support, multiple connections, chmod features, Drag-and-drop and localization for over 20 languages, including English...
     - Advanced GUI client
  • SSHFS
    SSHFS

    SSHFS is a file system for Linux capable of operating on files on a remote computer using just a secure shell login on the remote computer. On the local computer where the SSHFS is mounted, the implementation makes use of the FUSE kernel module....
     - Mounting remote filesystem using SFTP and SSH
  • WinSCP
    WinSCP

    WinSCP is an open source SSH file transfer protocol and File Transfer Protocol client for Microsoft Windows. Its main function is secure file transfer between a local and a remote computer....
     - Free Windows client with SFTP capability
  • FileZilla
    FileZilla

    FileZilla Client is a free software, open source, cross-platform FTP client. Binaries are available for Microsoft Windows, Linux, and Mac OS X....
     - Open source cross-platform GUI client
  • FireFTP
    FireFTP

    FireFTP is a free, open source, cross-platform FTP client for Mozilla Firefox in the form of an Add-on . It supports FTP, FTPS, and SFTP. FireFTP is charityware and runs on platforms that Firefox supports....
     - Free, open source, cross-platform GUI client
  • Cyberduck
    Cyberduck

    Cyberduck is a graphical open source File Transfer Protocol and SSH file transfer protocol client for Mac OS X licensed under the GNU General Public License....
     - Free, open source Mac OS X GUI client