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.
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 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.
Although FTPS has the potential to be faster, it's clear that SFTP holds the upper hand over FTPS.
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.
Here is the difference:
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.)
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With