I'm rewriting an in-house client-server application as a .NET MVC application. It needs to send and receive files via secure FTP. The original application was client-server and used MOVEit Freely to do SFTP. Is there a library or product I can use to do it from within .NET?
This is native in .NET. The classes you want resides in the System.Net namespace. Take a look at FtpWebRequest and FtpWebResponse classes. Happy coding :)
Have a look at SharpSSH, I know they have support for sftp, don't know how hard it will be to write the server side.
Take a look at edtFTPnet/PRO, which offers full support for SFTP in .NET.
You might also want to take a look at CompleteFTP, which is a fast, compact SFTP server for Windows platforms (it also supports FTP and FTPS).
I might add that using the term "Secure FTP" can be rather confusing. It can mean SFTP, which is a secure file transfer protocol that runs over SSH. Or it can mean FTPS, which is basically standard FTP commands running over an SSL connection.
Our Rebex File Transfer Pack supports both variants of Secure FTP - the SFTP and FTPS (FTP/SSL).
If you don't want to pay anything, you can easily use the built-in FtpWebRequest for vanilla FTP and FTPES (explicit FTP with SSL). For FTPS (implicit FTP+SSL), I recommend Alex FTPS Client. And finally, for SFTP (FTP over SSH), you can use SharpSSH. This method isn't for everyone - it's really just for the cheap skate. But, I've been using this combo for all my data transfer needs in a production environment and it works great. The products are stale, but the protocols are stable, so who cares.