方式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;
}
}

原文:java使用ssh连接Linux并执行命令

 方式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并执行命令的更多相关文章

  1. java使用SSH连接Linux系统

    SSH连接linux系统使我们在开发项目中常用到的,现在留下来,做个记录 package com.log; import java.io.BufferedReader; import java.io. ...

  2. Java使用SSH远程访问Windows并执行命令

    转载于:http://blog.csdn.net/carolzhang8406/article/details/6760430   https://blog.csdn.net/angel_xiaa/a ...

  3. Python通过ssh连接服务器并执行命令

    [本文出自天外归云的博客园] 脚本示例如下: # coding:utf-8 import time,paramiko,re,StringIO def exec_shell(command): ''' ...

  4. JAVA实现远程SSH连接linux并运行命令

    博客转移到http://blog.codeconch.com

  5. 【转载】在LoadRunner向远程Linux/Unix执行命令行并收集性能数据

    前面介绍过在LoadRunner的Java协议实现“使用SSH连接Linux”,当然连接之后的故事由你主导. 今天要讲的,是一个非Java版本.是对“在LoadRunner中执行命令行程序之:pope ...

  6. 在LoadRunner向远程Linux/Unix执行命令行并收集性能数据

    前面介绍过在LoadRunner的Java协议实现“使用SSH连接Linux”,当然连接之后的故事由你主导. 今天要讲的,是一个非Java版本.是对“在LoadRunner中执行命令行程序之:pope ...

  7. python利用paramiko连接远程服务器执行命令

    python中的paramiko模块是用来实现ssh连接到远程服务器上的库,在进行连接的时候,可以用来执行命令,也可以用来上传文件. 1.得到一个连接的对象 在进行连接的时候,可以使用如下的代码: d ...

  8. Linux后台执行命令:&和nohup nohup和&后台运行,进程查看及终止

    nohup和&后台运行,进程查看及终止   阅读目录 nohup和&后台运行,进程查看及终止 1.nohup 2.& 3.nohup和&的区别 &:是指在后台运 ...

  9. python paramiko实现ssh上传下载执行命令

    paramiko ssh上传下载执行命令 序言 最近项目经常需要动态在跳板机上登录服务器进行部署环境,且服务器比较多,每次完成所有服务器到环境部署执行耗费大量时间.为了解决这个问题,根据所学的执行实现 ...

随机推荐

  1. R语言包在linux上的安装等知识

    有关install.packages()函数的详见:R包 package 的安装(install.packages函数详解) R的包(package)通常有两种:1 binary package:这种 ...

  2. python2+robotframework环境搭建

    目前robotframework-ride只支持python3,没办法,只能用python2.好吧 python安装不多说,太简单,下载后直接安装,然后配置两个文件路径:path:E:\mytest\ ...

  3. test20190926 孙耀峰

    70+100+0=170.结论题自己还是要多试几组小数据.这套题还不错. ZYB建围墙 ZYB之国是特殊的六边形构造. 已知王国一共有

  4. git下载带有子项目的项目

    我用的win  系统 bash命令 git clone --recursive xxxx.git

  5. memoryCache 和 diskCache 的相关总结

    一.缓存位置 在浏览器开发者工具的 Network 的 Size 栏会出现的三种情况: from Service Worker from memory cache from disk cache 真正 ...

  6. python写入csv

    import xlwtimport csvnewfile=open("wu.csv","w",newline="")filewriter=c ...

  7. Linux配置静态IP以及解决配置静态IP后无法上网的问题

    式一.图形界面配置

  8. 启用Microsoft loopback Adapte

    开始▶控制面板▶系统   系统▶设备管理器   此时,点击操作的菜单是没有有用子菜单的,需要点击一下网络适配器.   再点击操作▶添加过时硬件   添加硬件向导▶下一步   安装我手动从列表选择的硬件 ...

  9. 公告 & 备注

    公告 这个\(blog\)从\(2019.12.21\)正式开始使用. 之前的博客请出门右转链接: \[\Large\texttt{my blog}\] \(:)\) 备注 近期要学的算法qwq \( ...

  10. LeetCode 428. Serialize and Deserialize N-ary Tree

    原题链接在这里:https://leetcode.com/problems/serialize-and-deserialize-n-ary-tree/ 题目: Serialization is the ...