• Java远程操作Linux服务器命令


    Java可以通过SSH协议远程连接Linux服务器,然后使用JSch库或者Apache Commons Net库来执行远程Linux命令。以下是一个使用JSch库的示例代码:

    1. import com.jcraft.jsch.*;
    2. public class RemoteCommandExecutor {
    3. private String host;
    4. private String user;
    5. private String password;
    6. public RemoteCommandExecutor(String host, String user, String password) {
    7. this.host = host;
    8. this.user = user;
    9. this.password = password;
    10. }
    11. public void executeCommand(String command) throws JSchException {
    12. JSch jsch = new JSch();
    13. Session session = jsch.getSession(user, host, 22); // 默认SSH端口号为22
    14. session.setConfig("StrictHostKeyChecking", "no"); // 不进行公钥验证
    15. session.setPassword(password);
    16. session.connect();
    17. ChannelExec channel = (ChannelExec) session.openChannel("exec");
    18. channel.setCommand(command);
    19. channel.setInputStream(null);
    20. channel.setErrStream(System.err);
    21. channel.connect();
    22. channel.disconnect();
    23. session.disconnect();
    24. }
    25. public static void main(String[] args) throws JSchException {
    26. RemoteCommandExecutor executor = new RemoteCommandExecutor("192.168.0.1", "username", "password");
    27. executor.executeCommand("ls -l");
    28. }
    29. }

    该示例通过构造方法传入服务器地址、用户名和密码,然后在executeCommand方法中执行传入的命令。在执行命令之前,需要建立一个SSH会话,并且打开一个执行命令的通道,最后关闭通道和会话。

    注意事项:

    1. 需要在项目中引入JSch库和其依赖的JZlib库。
    2. 如果需要传递参数,需要将参数用单引号或双引号括起来。
    3. 执行命令时,需要保证Linux服务器上已经安装需要执行的命令及其依赖的程序或库文件。
  • 相关阅读:
    c语言指针运算
    dwg如何转换成pdf,cad快速转pdf
    别着急,解决不了的问题,就请交给时间吧
    python实现简单的神经网络,python实现神经网络算法
    C++QT开发——TCP&UDP网络编程
    使用IDEA连接mysql
    IDEA gradle新增依赖报Could not resolve symbol “XXX“错误
    深度学习记录
    【笔记】软件测试06——Web自动化
    项目-SpringBoot
  • 原文地址:https://blog.csdn.net/m0_37649480/article/details/134428885