在Unity3D项目开发工具时需要用到SSH连接远程Linux服务器执行命令,找到SharpSSH链接库后,通过此方法就可使用。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
  
/// <summary>
    
/// SSH登录远程Linux服务器,并运行指令
    
/// </summary>
    
/// <param name="host">远程Linux服务器IP或域名</param>
    
/// <param name="username">账号名</param>
    
/// <param name="password">账号密码</param>
    
/// <param name="commands">命令</param>
    
/// <returns></returns>
    
public 
static 
bool 
RunSSHCommands(String host, String username, String password, String[] commands)
    
{
        
if 
(commands == 
null 
|| commands.Length == 0)
            
return 
false
;
 
        
try
        
{
            
SshExec exec = 
new 
SshExec(host, username);
            
exec.Password = password;
 
            
//XXLog.Log(String.Format("[{0}]Connecting...", host));
            
exec.Connect();
            
//XXLog.Log("OK");
 
            
foreach 
(String command 
in 
commands)
            
{
                
if 
(command == 
null 
|| command.Trim().Length == 0) 
continue
;
 
                
string 
output = exec.RunCommand(command);
                
//XXLog.Log(output);
            
}
 
            
//XXLog.Log("Disconnecting...");
            
exec.Close();
            
//XXLog.Log("OK");
 
            
return 
true
;
        
}
        
catch 
(Exception e)
        
{
            
XXLog.Log(e.Message);
            
return 
false
;
        
}
    
}