问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

jsch.session怎么使用 linux的信任机制

发布网友 发布时间:2022-04-09 17:23

我来回答

1个回答

热心网友 时间:2022-04-09 18:53

使用 jsch 连接linux
1:首先添加maven 依赖
<dependency>
<groupId>com.jcraft</groupId>
<artifactId>jsch</artifactId>
<version>0.1.48</version>
</dependency>

使用密码 方式连接 linux
public static String exec(String host, String user, String psw, int port,
String command) {
String result = "";
Session session = null;
ChannelExec openChannel = null;
try {
JSch jsch = new JSch();
session = jsch.getSession(user, host, port);
session.setPassword(psw.getBytes());
java.util.Properties config = new java.util.Properties();
config.put("StrictHostKeyChecking", "no");
session.setConfig(config);
session.connect();
openChannel = (ChannelExec) session.openChannel("exec");
openChannel.setCommand(command);
int exitStatus = openChannel.getExitStatus();
System.out.println(exitStatus);
openChannel.connect();
InputStream in = openChannel.getInputStream();
BufferedReader reader = new BufferedReader(
new InputStreamReader(in));
String buf = null;
while ((buf = reader.readLine()) != null) {
result += new String(buf.getBytes("gbk"), "UTF-8")
+ " <br>\r\n";
}
} catch (JSchException | IOException e) {
e.printStackTrace();
result += e.getMessage();
} finally {
if (openChannel != null && !openChannel.isClosed()) {
openChannel.disconnect();
}
if (session != null && session.isConnected()) {
session.disconnect();
}
}
return result;
}
String exec = exec("192.168.80.101", "root", "111", 22,"sleep 2;ls;");

使用 秘钥方式 连接linux
public static String exec1(String ip, String user, int port,
String privateKey, String passphrase, String command) {
String result = "";
Session session = null;
ChannelExec openChannel = null;
try {
JSch jsch = new JSch();
jsch.addIdentity(privateKey);
session = jsch.getSession(user, ip, port);

java.util.Properties config = new java.util.Properties();
config.put("StrictHostKeyChecking", "no");
session.setConfig(config);
session.connect();
openChannel = (ChannelExec) session.openChannel("exec");
openChannel.setCommand(command);
int exitStatus = openChannel.getExitStatus();
System.out.println(exitStatus);
openChannel.connect();
InputStream in = openChannel.getInputStream();
BufferedReader reader = new BufferedReader(
new InputStreamReader(in));
String buf = null;
while ((buf = reader.readLine()) != null) {
result += new String(buf.getBytes("gbk"), "UTF-8")
+ " <br>\r\n";
}
} catch (JSchException | IOException e) {
e.printStackTrace();
result += e.getMessage();
} finally {
if (openChannel != null && !openChannel.isClosed()) {
openChannel.disconnect();
}
if (session != null && session.isConnected()) {
session.disconnect();
}
}
return result;
}

String result=exec1("192.168.80.101", "root", 22,"C:\\Users\\ebnew\\Desktop\\office-key(1)", "", "sleep 2;ls;");
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
华硕笔记本电脑触摸板怎么开笔记本电脑触摸板怎么开启和关闭_百度知 ... 陕西职务侵占案立案准则 结婚后我的恋情维系了十年,怎么做到的? 玉米仁子饭产自哪里 中国期货交易所的交易品种有哪些? 历史要怎么读,有啥诀窍 高中历史诀窍 年终会活动策划方案 深度解析:第一财经回放,探索财经新风向 逆水寒手游庄园怎么邀请好友同住 多肉掉叶子是怎么解决 多肉掉的叶子 怎么养殖 步骤有么 昨晚梦到去菜市场,结果看到的都是白菜和豆腐,好多好多的白菜,还有豆腐,好像没看到其他的,求解梦。 oppo手机咋弄彩虹电量? oppo a8怎样设置彩虹电池 SCP STS各代表什么材料 scp收容失效手机版代码 华为b6手环怎么接? 求一份中技应聘个人简历的范文 我刚上班,单位管我要个人简历,该怎么写了 帮忙写个人简历前面的套话 急需 建筑工程管理专业 顶岗实习个人简历 包括表格那种 急!急!急! 女孩子读职高学什么专业比较好,求指点 女生职高学哪些专业好 在上海居住,请问最近上海周边有什么适合一家三口短期游玩的地方吗?比如温泉或者农家乐之类的~ 上海或上海附近有哪些好玩的地方? 谁能推荐个上海周边的度假村,有烧烤,有篝火,有别 上海附近好玩的度假村推荐 求助--上海周边好玩能度假的地方 上海周边有是什么度假村?苏州杭州附近的也可以。 多肉植物掉下来的叶子应该怎么种? 我养的多肉植物掉下来的叶子发芽了,我想问一下能把它养活吗,怎么栽到花盆里。 多肉老掉叶子是怎么办 多肉掉落的叶子,怎样才能让它重新长起来? 怎么养多肉?为什么老掉叶子 多肉突然掉叶子了怎么办啊? 文言文中&quot;坐&quot;有哪些意思? 南通大学是211吗? 古文中 坐是 什么意思? 南通大学是211还是985院校 坐在文言文的用法有哪些 南通大学是211大学还是985大学 南通大学能被评为211吗? 南通大学是211吗 古文中坐有哪些意思,要例句 南通大学在211,985工程里吗? 坐和连坐在文言文中有区别? 南通大学是21还是985 &quot;坐&quot;在文言文中有哪些意思 南通大学是不是重点大学