An object-oriented and type-safe programming language that has its roots in the C family of languages and includes support for component-oriented programming.
Use the SSH.NET NuGet package. This can do everything you need.
var client = new SftpClient("<ip/dns>", 22, username, password); // You can aslo use a private key file
client.UploadFile(stream, "/documents/document1.docx");
client.DownloadFile("/documents/document2.docx", stream);
client.Delete("/documents/document1.docx");
client.Disconnect();
client.Dispose();