2017-10-06 23 views

回答

0

根据您的需求,我建议你使用SSH和执行命令连接到远程服务器。

我不确定您使用的是哪种语言。所以,我只是在这里为您提供java示例代码。

您可以使用SSH组件JCraft进行远程连接和shell命令调用。

JSch jsch = new JSch(); 

String command = "/tmp/myscript.sh"; 
Session session = jsch.getSession(user, host, 22); 
session.connect(); 

Channel channel = session.openChannel("exec"); 
((ChannelExec)channel).setCommand(command); 

channel.setInputStream(null); 
((ChannelExec)channel).setErrStream(System.err); 
InputStream in = channel.getInputStream(); 
channel.connect(); 

byte[] tmp = new byte[1024]; 
while (true) { 
    while (in.available() > 0) { 
     int i = in.read(tmp, 0, 1024); 
     if (i < 0) { 
      break; 
     } 
     System.out.print(new String(tmp, 0, i)); 
    } 
    if (channel.isClosed()) { 
     if (channel.getExitStatus() == 0) { 
      System.out.println("Command executed successully."); 
     } 
     break; 
    } 
} 
channel.disconnect(); 
session.disconnect(); 

此外,你可以参考这个线程How do I run SSH commands on remote system using Java?

希望它可以帮助你。任何关注,请随时让我知道。

相关问题