A project that I was working on required the use of SFTP to transfer some files. I was surprised to find that there seemed to be no support for this anywhere in the .net Framework. After Googling around for a bit, I found a nice open source project called SharpSSH.
SharpSSH was surprisingly easy to use and worked great! I was able to SFTP a file in 4 lines of code:
SshTransferProtocolBase sshCp = new Sftp("127.0.0.1", "ftp", "ftp123"); sshCp.Connect(); sshCp.Put("c:\\testdoc.txt", "test123.txt"); sshCp.Close();
This was exactly what I was looking for: a simple, lightweight SFTP library. I added some exception handling and logging, removed my hard-coded values with user-defined settings, and called it a day!
Resources:
SharpSSH
http://sourceforge.net/projects/sharpssh/
freeSSHd (a free SFTP server)
http://www.freesshd.com/