I want to upload file to SFTP using private key authentication. So i wrote below code in SSIS Script Task. Can you please suggest this much code is enough for the same or am i missing anything ?. Thanks in advance for your valuable answers.
SessionOptions sessionOptions = new SessionOptions
Protocol = Protocol.Sftp,
HostName = sftpHostName, //Destination server to which we need to connect to
UserName = sftpUserId, //Destination server UserId (or Source server user id?)
SshHostKeyFingerprint = sftpHosyKeyFingerPrint,
SshPrivateKeyPath = sftpPrivateKeyPath //Entire physical path that maps to .ppk private key (Eg: C:\PrivateKey\SFTPKey.ppk)
using (Session session = new Session())
session.ExecutablePath = executablePath;
// Upload files
TransferOptions transferOptions = new TransferOptions();
transferOptions.TransferMode = TransferMode.Binary;
transferResult = session.PutFiles(fileToUpload, sftpDestinationServerPath, false, transferOptions);
// Throw on any error
Also put query on the WinSCP site forum and put the below code  in there to check if this code will be good enough for authentication and file transfer using private-public key? Or else additional coding is required for key authentication.