DeviceWinSCP.cs 1.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142
  1. using FTP;
  2. using Microsoft.Extensions.Configuration;
  3. using System.Collections.Generic;
  4. using System.Configuration;
  5. using System.Linq;
  6. using System.Threading.Tasks;
  7. using WinSCP;
  8. namespace IMCS_CCS.Utils.DeviceProtocol
  9. {
  10. public class DeviceWinSCP
  11. {
  12. SessionOptions sessionOptions;
  13. WinSCP.Session session;
  14. public DeviceWinSCP(string UserName, string Password, string HostName)
  15. {
  16. sessionOptions = new SessionOptions();
  17. sessionOptions.UserName = UserName;
  18. sessionOptions.Password = Password;
  19. sessionOptions.HostName = HostName;
  20. sessionOptions.PortNumber = 22;
  21. sessionOptions.Protocol = Protocol.Scp;
  22. WinSCP.Session session = new WinSCP.Session();
  23. var fingerprint = session.ScanFingerprint(sessionOptions, "SHA-256");
  24. sessionOptions.SshHostKeyFingerprint = fingerprint.ToString();
  25. session.Open(sessionOptions);
  26. }
  27. public void PutFile(string FileName, string LocalPath, string RemotePath)
  28. {
  29. TransferOptions transferOptions = new TransferOptions();
  30. string localfilepath = LocalPath + FileName;
  31. transferOptions.TransferMode = TransferMode.Binary;
  32. session.PutFileToDirectory(localfilepath, RemotePath, false, transferOptions);
  33. session.Close();
  34. }
  35. }
  36. }