public class SCP_Transfer
public string PATH_TO_FILE;
public SCP_Transfer(string hostname, int port, string username, string password, string pathToFile) {
PATH_TO_FILE = pathToFile;
public static void Main()
SCP_Transfer scpTransfer = new SCP_Transfer("test.rebex.net", 22, "demo", "password", "/readme.txt");
var ssh = new ScpClient(scpTransfer.HOSTNAME, scpTransfer.PORT, scpTransfer.USERNAME, scpTransfer.PASSWORD);
Console.WriteLine("CP 1");
System.IO.Stream stream = new System.IO.MemoryStream();
ssh.Download(scpTransfer.PATH_TO_FILE, stream);
Console.WriteLine("CP 2");
byte[] fileInBytes = returnBytesFromStream(stream);
Console.WriteLine("CP 3");
public static byte[] returnBytesFromStream(Stream sourceStream) {
using(var memoryStream = new MemoryStream())
sourceStream.CopyTo(memoryStream);
return memoryStream.ToArray();