Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Differences between SFTP and "FTP over SSH"

Tags:

c#

ssh

sftp

ftp

While looking for an SFTP client in C# SSH File Transfer Protocol (SFTP), I've come across these two suitable projects - one and two.

While trying to understand the basics, I came across this confusing Wikipedia article. What is difference between SFTP and FTP over SSH? No library seems to give support for "FTP over SSH", if it is different.

like image 504
sundar venugopal Avatar asked Jan 13 '09 19:01

sundar venugopal


People also ask

Does SFTP work over SSH?

SFTP File Transfer Protocol - get SFTP client & server. SFTP (SSH File Transfer Protocol) is a secure file transfer protocol. It runs over the SSH protocol. It supports the full security and authentication functionality of SSH.

What is the difference between FTP and SFTP?

What are FTP and SFTP? FTP is the traditional file transfer protocol. It's a basic way of using the Internet to share files. SFTP (or Secure File Transfer Protocol) is an alternative to FTP that also allows you to transfer files, but adds a layer of security to the process.

Is SFTP faster and run over SSH?

Although FTPS has the potential to be faster, it's clear that SFTP holds the upper hand over FTPS.

Is SSH and FTP the same?

SSH allows remote shell access as well as file transfer, whereas FTP only allows file transfer. Any data transferred via an unencrypted protocol has an unusual risk for eavesdropping, which could compromise both access to your system and the data being transferred.


1 Answers

Here is the difference:

  • SFTP (SSH file transfer protocol) is a protocol that provides file transfer and manipulation capabilities. It can work over any reliable data stream, but is typically used with SSH
  • "FTP over SSH" uses the regular old FTP protocol, but an SSH tunnel is placed between client and server.

You probably won't find libraries for "FTP over SSH" because typically the tunnel is set up by running an SSH command, and once it is set up, clients and servers don't need to know about the tunnel; they just open ports and transfer data they way they would without a tunnel.

BTW, yet another option for you might be FTP over SSL (FTPS), which is supported by .NET. (See http://msdn.microsoft.com/en-us/library/system.net.ftpwebrequest.enablessl.aspx.)

like image 79
2 revs Avatar answered Oct 01 '22 02:10

2 revs