string hostName = ConfigurationManager.AppSettings["HostName"]; string userName = ConfigurationManager.AppSettings["UserName"]; string password = ConfigurationManager.AppSettings["Password"]; string SKey = ConfigurationManager.AppSettings["SshHostKeyFingerprint"]; string kex = ConfigurationManager.AppSettings["KEX"]; string sourcePath = ConfigurationManager.AppSettings["FromPath"]; string extenName = ConfigurationManager.AppSettings["FileName"]; string hostPath = ConfigurationManager.AppSettings["ToPath"];
try { // 配置会话选项 SessionOptions sessionOptions = new SessionOptions { Protocol = Protocol.Scp, HostName = hostName, UserName = userName, Password = password, SshHostKeyFingerprint = SKey, }; sessionOptions.AddRawSettings("KEX", kex); using (Session session = new Session()) { session.Open(sessionOptions); var commandResult = session.ExecuteCommand("cd " + sourcePath); commandResult = session.ExecuteCommand("ls"); if (commandResult.IsSuccess) { var fileNames = commandResult.Output.Split('\n').Where(fileName => fileName.EndsWith(extenName)).ToList(); if (!Directory.Exists(hostPath)) { Directory.CreateDirectory(hostPath); } foreach (var fileName in fileNames) { var result = session.GetFiles("/" + sourcePath + "/" + fileName, hostPath); //Console.WriteLine(string.Format("FileName:{0},文件传输{1}!", fileName, result.IsSuccess ? "成功" : "失败")); } } } // Console.WriteLine("完成"); } catch (Exception ex) { Console.WriteLine(ex.Message); }
转载于:https://www.cnblogs.com/fengmingming/p/6654382.html