首页 > 代码库 > C#远程执行Linux系统中Shell命令和SFTP上传文件
C#远程执行Linux系统中Shell命令和SFTP上传文件
一、工具:SSH.Net
网址:https://github.com/sshnet/SSH.NET
二、调用命令代码:
Renci.SshNet.SshClient ssh = new Renci.SshNet.SshClient("192.168.1.104", "sindrol", "123456"); ssh.Connect(); while (true) { Console.WriteLine("please input command:"); var line = Console.ReadLine(); if (string.IsNullOrWhiteSpace(line)) continue; var cmd = ssh.RunCommand(line); if (!string.IsNullOrWhiteSpace(cmd.Error)) Console.WriteLine(cmd.Error); else Console.WriteLine(cmd.Result); } ssh.Disconnect();
三、上传文件代码:
Renci.SshNet.SftpClient sftp = new Renci.SshNet.SftpClient("192.168.1.104", "sindrol", "123456"); sftp.Connect(); FileInfo fi = new FileInfo(@"D:\Project\Matlab\rcnn.rar"); var allLength = fi.Length; sftp.UploadFile(new System.IO.FileStream(fi.FullName, System.IO.FileMode.OpenOrCreate, System.IO.FileAccess.ReadWrite, System.IO.FileShare.ReadWrite), "/home/sindrol/aa.zip", (pro) => { Console.WriteLine((pro * 1.0d / allLength * 1.0d).ToString("P")); }); Console.WriteLine("finished."); while (true) { System.Threading.Thread.Sleep(500); }
四、用法:
1、一般用于将一个本地上写好的bash角本,通过Sftp上传到服务器,然后执行运行命令。
2、由于是C#程序实现的,所以可以清松实现多台批量操作。
C#远程执行Linux系统中Shell命令和SFTP上传文件
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。