java使用ssh连接Linux并执行命令
方式1:通过设置账号密码和链接地址
maven pom.xml配置: <dependency>
<groupId>com.jcraft</groupId>
<artifactId>jsch</artifactId>
<version>0.1.</version>
</dependency>
java代码如下:
import java.io.IOException;
import java.io.InputStream;
import org.apache.commons.io.IOUtils;
import com.jcraft.jsch.ChannelExec;
import com.jcraft.jsch.JSch;
import com.jcraft.jsch.JSchException;
import com.jcraft.jsch.Session; public class SSHLinux {
public static void main(String[] args) throws IOException, JSchException {
// TODO Auto-generated method stub
String host = "172.19.28.253";
int port = 22;
String user = "root";
String password = "123456";
String command = "whatweb --output-xml http://216.139.147.75:443/";
String res = exeCommand(host,port,user,password,command);
System.out.println(res);
}
public static String exeCommand(String host, int port, String user, String password, String command) throws JSchException, IOException {
JSch jsch = new JSch();
Session session = jsch.getSession(user, host, port);
session.setConfig("StrictHostKeyChecking", "no");
// java.util.Properties config = new java.util.Properties();
// config.put("StrictHostKeyChecking", "no");
session.setPassword(password);
session.connect(); ChannelExec channelExec = (ChannelExec) session.openChannel("exec");
InputStream in = channelExec.getInputStream();
channelExec.setCommand(command);
channelExec.setErrStream(System.err);
channelExec.connect();
String out = IOUtils.toString(in, "UTF-8");
channelExec.disconnect();
session.disconnect(); return out;
}
}
方式2:通过获取linux当前环境
linux下:
String[] command = { "/bin/sh", "-c", cmmd };
Process ps = Runtime.getRuntime().exec(command );
windows下:
String[] command = { "cmd", "/c", cmmd };
Process ps = Runtime.getRuntime().exec(command );
e.g.
import org.apache.commons.io.IOUtils;
import java.io.IOException;
import java.util.*;
public class ISshServerRuntimeImpl implements ISshServerRuntime{
public static void main(String[] args) throws IOException, JSchException {
String[] cmdarray = { "cmd", "/c","notepad.exe"};
final Process p = Runtime.getRuntime().exec(cmdarray);
String res = IOUtils.toString(p.getInputStream());
}
}
java使用ssh连接Linux并执行命令的更多相关文章
- java使用SSH连接Linux系统
SSH连接linux系统使我们在开发项目中常用到的,现在留下来,做个记录 package com.log; import java.io.BufferedReader; import java.io. ...
- Java使用SSH远程访问Windows并执行命令
转载于:http://blog.csdn.net/carolzhang8406/article/details/6760430 https://blog.csdn.net/angel_xiaa/a ...
- Python通过ssh连接服务器并执行命令
[本文出自天外归云的博客园] 脚本示例如下: # coding:utf-8 import time,paramiko,re,StringIO def exec_shell(command): ''' ...
- JAVA实现远程SSH连接linux并运行命令
博客转移到http://blog.codeconch.com
- 【转载】在LoadRunner向远程Linux/Unix执行命令行并收集性能数据
前面介绍过在LoadRunner的Java协议实现“使用SSH连接Linux”,当然连接之后的故事由你主导. 今天要讲的,是一个非Java版本.是对“在LoadRunner中执行命令行程序之:pope ...
- 在LoadRunner向远程Linux/Unix执行命令行并收集性能数据
前面介绍过在LoadRunner的Java协议实现“使用SSH连接Linux”,当然连接之后的故事由你主导. 今天要讲的,是一个非Java版本.是对“在LoadRunner中执行命令行程序之:pope ...
- python利用paramiko连接远程服务器执行命令
python中的paramiko模块是用来实现ssh连接到远程服务器上的库,在进行连接的时候,可以用来执行命令,也可以用来上传文件. 1.得到一个连接的对象 在进行连接的时候,可以使用如下的代码: d ...
- Linux后台执行命令:&和nohup nohup和&后台运行,进程查看及终止
nohup和&后台运行,进程查看及终止 阅读目录 nohup和&后台运行,进程查看及终止 1.nohup 2.& 3.nohup和&的区别 &:是指在后台运 ...
- python paramiko实现ssh上传下载执行命令
paramiko ssh上传下载执行命令 序言 最近项目经常需要动态在跳板机上登录服务器进行部署环境,且服务器比较多,每次完成所有服务器到环境部署执行耗费大量时间.为了解决这个问题,根据所学的执行实现 ...
随机推荐
- CentOS8-在hyper-V安装选项
安装选项select Server with a GUI.后重启卡在黑屏无法启动. 后改选: Select software to be installed. Choose the Workstat ...
- PostgreSQL分区表实现——pg_pathman安装、配置
近日由于系统运行时间太长,数据库库表中的数据也是越来越多,为了缩短库表的操作时间,所以对数据库中的部分库表进行分区的操作. 通过研究,决定采用pg_pathman插件对库表进行分区操作.pg_path ...
- NodeJS 多版本管理(NVM)
前言 现在前端各种框架更新较快,对 Node 的依赖也不一样,Node 的过版本管理也很有必要. NVM(Node Version Manager),是一个 Node 的版本管理工具. 官方的 NVM ...
- dt框架自定义url规则
destoon的列表的地址规则是定义在/api/url.inc.php,然后又是在include/global.func.php中进行的listpages这个函数调用实现 if($page < ...
- AtCoder Beginner Contest 127 解题报告
传送门 非常遗憾.当天晚上错过这一场.不过感觉也会掉分的吧.后面两题偏结论题,打了的话应该想不出来. A - Ferris Wheel #include <bits/stdc++.h> u ...
- 9、Hadoop配置文件和HDFS垃圾回收
配置文件 默认配置文件:相对应的jar包中 core-default.xml hdfs-default.xml yarn-default.xml mapred-default.xml 自定义配置文件 ...
- windows下dos窗口实现持续ping显示时间保存至日志
效果图 右击新建 ping.bat 文件(ping为文件名称,随便起),内容如下: cscript ping.vbs 127.0.0.1 -t >log.txt 127.0.0.1 修改为你自 ...
- Can't generate API documentation in l5-swagger
Can't generate API documentation in l5-swagger Ask Question Asked 3 months ago Active 1 month ago Vi ...
- zeptojs库
一.简介 ①Zepto是一个轻量级的针对现代高级浏览器的JavaScript库, 它与jquery有着类似的api. ②Zepto的设计目的是提供 jQuery 的类似的API,但并不是100%覆盖 ...
- 将 iTunes 降级到支持安装 .ipa 文件的版本
将 iTunes 降级到支持安装 .ipa 文件的版本 新版的 iTunes 再也不支持安装 .ipa 文件了,但是 Apple 官网依旧保留了旧版 iTunes 的下载渠道.(点击进入) 安装完上面 ...