你可以使用Java中的JSch库来进行远程服务器连接,并执行Linux脚本。
如果你是maven程序,可以引入jsch依赖
<dependency>
<groupId>com.jcraft</groupId>
<artifactId>jsch</artifactId>
<version>0.1.55</version>
</dependency>
以下是一个示例程序:
import com.jcraft.jsch.ChannelExec;
import com.jcraft.jsch.JSch;
import com.jcraft.jsch.Session;
import java.io.BufferedReader;
import java.io.InputStream;
import java.io.InputStreamReader;
public class RemoteShellCaller {
public static void main(String[] args) {
String host = "your_host"; // 远程服务器IP或域名
String user = "your_username"; // 远程服务器用户名
String password = "your_password"; // 远程服务器密码
String command = "/path/to/your_script.sh"; // 要执行的脚本路径
try {
// 创建JSch对象并连接远程服务器
JSch jsch = new JSch();
Session session = jsch.getSession(user, host, 22);
session.setPassword(password);
session.setConfig("StrictHostKeyChecking", "no");
session.connect();
// 打开SSH通道并执行命令
ChannelExec channel = (ChannelExec) session.openChannel("exec");
channel.setCommand(command);
channel.connect();
// 读取命令输出
InputStream inputStream = channel.getInputStream();
BufferedReader reader = new BufferedReader(new InputStreamReader(inputStream));
String line;
while ((line = reader.readLine()) != null) {
System.out.println(line);
}
// 关闭SSH通道和会话
channel.disconnect();
session.disconnect();
} catch (Exception e) {
e.printStackTrace();
}
}
}
请注意,上述示例中需要将your_host、your_username、your_password和/path/to/your_script.sh替换为实际的远程服务器主机、用户名、密码和脚本路径。此示例程序将连接到指定的远程服务器并执行指定的脚本,并输出命令的结果。
© 版权声明
本站资源来自互联网收集,仅供用于学习和交流,请勿用于商业用途。如有侵权、不妥之处,请联系站长并出示版权证明以便删除。敬请谅解!
THE END