java实现ssh登录linux服务器并下发命令

Posted 小泉哥

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java实现ssh登录linux服务器并下发命令相关的知识,希望对你有一定的参考价值。

依赖jar包:jsch-0.1.55.jar   commons-io-2.5.jar

import com.jcraft.jsch.ChannelExec;
import com.jcraft.jsch.JSch;
import com.jcraft.jsch.JSchException;
import com.jcraft.jsch.Session;
import org.apache.commons.io.IOUtils;

import java.io.*;
public class SSHTest {
    public static void main(String[] args) throws JSchException, IOException {
        //建立连接
        int port=22;
        String host="10.XX.XX.XX";
        String userName="admin";
        String password="XXXX";
        JSch jsch = new JSch();
        Session session = jsch.getSession(userName, host, port);
        session.setPassword(password);
        session.setConfig("StrictHostKeyChecking","no");
        session.setTimeout(6000);
        session.connect();
        //建立连接结束
        //发送指令
        ChannelExec exec = (ChannelExec) session.openChannel("exec");
        InputStream in = exec.getInputStream();
        exec.setCommand("date");
        exec.connect();
        String s = IOUtils.toString(in, "GBK");
        System.out.println("结果:"+s);
        in.close();
    }
}

 

以上是关于java实现ssh登录linux服务器并下发命令的主要内容,如果未能解决你的问题,请参考以下文章

如何使用java通过ssh的方式登录远程服务器执行命令并返回结果

利用shell脚本执行ssh远程另一台主机执行命令并返回命令的结果集

本地shell脚本中ssh到远程服务器并执行命令

Ansible实现批量无密码登录

SSH配置—Linux下实现免密码登录

ssh远程连接linux服务器并执行命令