Hi,
you can try following code. It uses the Rebex SFTP component. The code is taken from the SFTP tutorial page.
// create client, connect and log in
Sftp client = new Sftp();
client.Connect(hostname);
client.Login(username, password);
// download the 'test.zip' file from the current directory at the server
client.GetFile("test.zip", @"c:\data\test.zip");
// download the 'index.html' file from the specified directory at the server
client.GetFile("/wwwroot/index.html", @"c:\data\index.html");
// download the content of '/wwwroot' directory and all subdirectories
// at the server to the 'c:\data' directory
client.GetFiles("/wwwroot/*", @"c:\data", SftpBatchTransferOptions.Recursive);
client.Disconnect();