У Bitvise есть отличный продукт под названием Tunnelier, который может связывать FTP с SFTP. Затем вы можете использовать стандартный FtpWebRequest в .NET.
http://www.bitvise.com/ftp-bridge
Я в настоящее время тестирования это для своих собственных целей и будет обновлять с моими выводами.
обновление
Эта идея не подходит для автоматической автоматизации, если вы не хотите, чтобы прыгать через обручи, держа клиент, подключенный как сервис или что-то, что я достиг с помощью NSSM.
Я пробовал автоматизацию CLI с различными клиентами, включая bitvise и winscp.com. Я также пробовал эти библиотеки классов .net: Winscp, SSH.NET, SharpSSH и коммерческий клиент SFTP SecureBlackBox.
SecureBlackBox работал хорошо, но он очень тяжелый, может быть довольно дорогим в зависимости от лицензирования, и я не очень соглашался с его API.
Руки вниз, лучший бесплатный клиент sftp для разработки .NET - winscp. Я написал несколько классов и методов расширения, чтобы сделать работу с ним проще: Winscp.Extensions
Возможный дубликат [Как загрузить файл на SFTP-сервер в C#/.NET?] (Http://stackoverflow.com/questions/86458/how-do-upload-a-file-to -an-sftp-server-in-c-sharp-net) –
Есть ли библиотека SFTP, лицензированная под MIT? –