.NET tiene una clase llamada FtpWebRequest , para el acceso a un FTP, un ejemplo completo en el siguiente artículo: Simple FTP Demo Application Using C#.NET 2.0 . Pero esa clase no soporte SFTP, como lo comentan en este foro: SSH/SFTP Communications in C# (revisar las respuestas tiene otras opciones). Una librería gratuita es: SharpSSH , gracias a Tamir Gal . Cuando descarguen la librería, también hay una aplicación consola de ejemplo, y con Reflector podemos ver como funciona esta librería...