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;");
分享到:
相关推荐
这里是我使用jsch连接linux并且执行相关命令的案例,希望对你有所帮助。
主要介绍了Java中通过jsch来连接远程服务器执行linux命令的相关资料,需要的朋友可以参考下
jsch连接linux的工具包,公司一般用的就是这个jsch-0.1.54.jar包
Jmeter连接linux的两个jar包:1、ApacheJMeter_ssh-1.1.1-SNAPSHOT.jar 2、jsch-0.1.50.jar
java代码连接ssh服务器,jsch源码和jar包
亲测有效,java进行ssh协议连接的jar包,sftp上传下载文件。项目ssh升级后,以前的jar包不能用,换了这个jar包,可以用
通过java提供的类包,与UNIX、LINUX等操作系统通过SSH安全协议进行连接,实现远程操作的目的。
jsch-0.1.53.jar,实现SFTP上传下载删除,ava中通过jsch来连接远程服务器执行linux命令
1背景参考文章:Java使用SFTP和FTP两种连接方式实现对服务器的上传下载java使用JSCH连接FTP(Linux服务器)上传文件到Linux服务器Jav
sshxcute 就是这样一个框架工具集,它基于 JSCH 构建,允许工程师利用Java 代码通过 SSH 连接远程批量执行 Linux/UNIX 系统上的命令或者脚本,同时加入了判断成功与否,取回输出等多种实用功能。sshxcute 不管是针对...
使用JSch写的纯java的SSH连接类,脱离底层,可在windows,linux下运行
前东家是一家游戏公司,老板很好,当时工作也留下了很多自己原创的管理脚本。现在分享一下在办公环境使用Java、Jsch登录VPN管理Linux的脚本(此处实现JAVA... 当您学会通过VPN连接Linux服务器后,如果只在内网环境
纯java实现的ssh协议(jsch),支持同时连接多台linux主机,执行相同的命令。只需配置目标主机的ip地址、用户名和密码即可实现远程操作。服务器无需配置ssh对等协议或安装任何agent插件。并发远程主机主机连接,顺序...
Jsch:用于远程连接ECS服务器。 Websocket:与前端进行实时交互。 xterm:渲染web版本的terminal终端显示器。 可参考博客地址: https://blog.csdn.net/qq_29777207/article/details/108763630 售后群:491590248
Android 应用程序通过 ssh(使用 Jsch)控制您的 linux 桌面。 ## 依赖 # wmctrl, openssh-server ## 配置文件 ## 去做 config.xml 中的应用程序列表: 定义要下载的图标列表的函数,以及它们在服务器上...
Java 代码通过 SSH 连接远程批量执行 Linux/UNIX 系统上的命令或者脚本,同时加入了判断成功与否,取回输出等多种 实用功能。 文档参考 https://www.ibm.com/developerworks/cn/opensource/os-sshxcute/
而实现此功能的传统方式,如telnet(终端仿真协议)、 rcp ftp、 rlogin、rsh都是极为不安全的,并且会使用明文传送密码。OpenSSH提供了服务端后台程序和客户端工具,用来加密远程控制和文件传输过程中的数据,并由此...
它支持用于SSH连接和Mac OSX,Linux和Windows上的本地PTY的终端会话。 JetBrains IDE(如PyCharm,IDEA,PhpStorm,WebStorm,AppCode,CLion和Rider)使用该库。 从2.5版开始,有一个独立版本的JediTerm终端,作为...
实现Linux远程连接windows并执行一些命令 ExtendDatabase 提高效率工具工程,扩展 ASE 数据库的data空间和log空间(默认增加 40G data和 10G log)。 DBLogMonitor 监控远程机器的数据库log文件,当日志已满时清空 ...
它只有一个二进制程序,没有任何依赖关系,可以立即使用。 gossh用于管理linux(如unix)计算机:包括命令和推和拉文件的远程执行,并支持独立和批处理模式。 2,高斯能做什么 高斯的三个核心功能: 连接到远程...