This should do it:
using Renci.SshNet;
namespace SshNetTests
{
class Program
{
public static void Main()
{
var privateKeyAuthenticationMethod = new PrivateKeyAuthenticationMethod("<user>",
new PrivateKeyFile(@"<path to private key>"));
var connectionInfo = new ConnectionInfo("<SSH server hostname or IP address>",
22,
"<user>",
ProxyTypes.Http,
"<proxy server hostname or IP address>",
8080,
"<proxy user>",
"<proxy password>",
privateKeyAuthenticationMethod);
using (var sftpClient = new SftpClient(connectionInfo))
{
sftpClient.Connect();
}
}
}
}