java ssh免密登录

java

package com.meituan.stabletest.sshtest;

import java.io.InputStream;

import com.jcraft.jsch.Channel;

import com.jcraft.jsch.ChannelExec;

import com.jcraft.jsch.JSch;

import com.jcraft.jsch.Session;

/**

* Hello world!

*

*/

public class App

{

public static void main(String[] args) {

String host="192.168.56.101";

String user="root";

String command1="ls -ltr";

try{

java.util.Properties config = new java.util.Properties();

config.put("StrictHostKeyChecking", "no");

JSch jsch = new JSch();

Session session=jsch.getSession(user, host, 22);

jsch.setKnownHosts("~/.ssh/known_hosts");

jsch.addIdentity("~/.ssh/id_rsa");

session.setConfig(config);

session.connect();

System.out.println("Connected");

Channel channel=session.openChannel("exec");

((ChannelExec)channel).setCommand(command1);

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()){

System.out.println("exit-status: "+channel.getExitStatus());

break;

}

try{Thread.sleep(1000);}catch(Exception ee){}

}

channel.disconnect();

session.disconnect();

System.out.println("DONE");

}catch(Exception e){

e.printStackTrace();

}

}

}

以上是 java ssh免密登录 的全部内容, 来源链接: utcz.com/z/391700.html

回到顶部