java使用jsch远程链接linux执行命令
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
在浔阳等地区,都构建了全面的区域性战略布局,加强发展的系统性、市场前瞻性、产品创新能力,以专注、极致的服务理念,为客户提供网站建设、网站设计 网站设计制作定制设计,公司网站建设,企业网站建设,成都品牌网站建设,成都营销网站建设,外贸网站制作,浔阳网站建设费用合理。
import com.jcraft.jsch.Channel;
import com.jcraft.jsch.ChannelExec;
import com.jcraft.jsch.JSch;
import com.jcraft.jsch.JSchException;
import com.jcraft.jsch.Session;
/**
- java 使用jsch远程链接linux 执行命令
- @author myz
*/
public class JSchUtil {
private static JSch jsch;
private static Session session;/**
- 首先连接服务器
- @param user
- @param passwd
- @param host
@throws JSchException
*/
public static void connect(String user, String passwd, String host) throws JSchException {
jsch = new JSch();
session = jsch.getSession(user, host, 22);
session.setPassword(passwd);
java.util.Properties config = new java.util.Properties();
config.put("StrictHostKeyChecking", "no");
session.setConfig(config);session.connect();
}
/**
- 连接服务器后执行相应的linux命令
- @param command
- @param user
- @param passwd
- @param host
- @throws JSchException
*/
public static void execCmd(String command, String user, String passwd, String host) throws JSchException {
connect(user, passwd, host);
BufferedReader reader = null;
Channel channel = null;
try {
while (command != null) {
channel = session.openChannel("exec");
((ChannelExec) channel).setCommand(command);
channel.setInputStream(null);
((ChannelExec) channel).setErrStream(System.err);
channel.connect();
//获取流
InputStream in = channel.getInputStream();
reader = new BufferedReader(new InputStreamReader(in));
String buf = null;
while ((buf = reader.readLine()) != null) {
System.out.println(buf);//打印返回的结果日志
}
}
} catch (IOException e) {
e.printStackTrace();
} catch (JSchException e) {
e.printStackTrace();
} finally {//最后流和连接的关闭
try {
reader.close();
} catch (IOException e) {
e.printStackTrace();
}
channel.disconnect();
session.disconnect();
}
}
}
当前题目:java使用jsch远程链接linux执行命令
本文路径:http://scyanting.com/article/gjihdo.html