使用了SSH.NET庫,添加引用dll至項目,以下代碼顯示了點擊按鈕后SSH鏈接Linux主機執行命令並返回命令執行結果
1 protected void btnExcute_Click(object sender, EventArgs e) 2 { 3 string server = ServerAddr.Text; 4 string username = UserName.Text; 5 string password = Password.Text; 6 string command = Command.Text; 7 8 StringBuilder result = new StringBuilder(); 9 try 10 { 11 using (var client = new SshClient(server, username, password)) 12 { 13 try 14 { 15 client.Connect(); 16 result.Append(client.RunCommand(command).Execute() + "\r\n"); 17 QAResult.Text = result.ToString(); 18 client.Disconnect(); 19 } 20 catch (Exception e1) 21 { 22 result.Append(e1.Message + "\r\n"); 23 } 24 } 25 } 26 catch (Exception e1) 27 { 28 result.Append(e1.Message + "\r\n"); 29 QAResult.Text = result.ToString(); 30 } 31 }
以下代碼演示了從本機拷貝文件到Linux主機
1 private void TestTranferFiles() 2 { 3 string server = ServerAddr.Text; 4 string username = UserName.Text; 5 string password = Password.Text; 6 string command = Command.Text; 7 var scp = new ScpClient(server, username, password); 8 scp.Connect(); 9 scp.Upload(new DirectoryInfo(@"d:\aaaa"), "/home/zy"); //將d:\\aaaa下的所有文件上傳 10 scp.Disconnect(); 11 }