Bitvise tiene un gran producto llamado Tunnelier que puede conectar FTP a SFTP. A continuación, puede utilizar el estándar FtpWebRequest en .NET.
http://www.bitvise.com/ftp-bridge
Actualmente estoy probando esto para mis propios fines y actualizaré mis hallazgos.
actualizar
Esta idea no es ideal para la automatización desatendida, a menos que desee pasar por obstáculos manteniendo al cliente conectado como un servicio o algo así, lo cual logré usando NSSM .
Probé la automatización CLI con varios clientes, incluidos bitvise y winscp.com. También probé estas bibliotecas de clases .net: Winscp, SSH.NET, SharpSSH y el cliente comercial SFTP SecureBlackBox.
SecureBlackBox funcionó bien, pero es muy pesado, puede ser bastante costoso dependiendo de la licencia, y no estaba de acuerdo con su API.
Sin lugar a dudas, el mejor cliente sftp gratuito para el desarrollo de .NET es winscp . He escrito algunas clases y métodos de extensión para facilitar el trabajo: Winscp.Extensions