`
chenchangqun
  • 浏览: 54105 次
  • 性别: Icon_minigender_1
  • 来自: 大连
社区版块
存档分类
最新评论

ssh 远程执行异常

阅读更多
因为项目要求,需要远程执行命令,maven配置和代码如下

<dependency>
    <groupId>ch.ethz.ganymed</groupId>
    <artifactId>ganymed-ssh2</artifactId>
    <version>build209</version>
</dependency>


public class InvokeShellTest {
     public static void main(String[] args) {  

            String hostname = "10.103.16.16";  
            String username = "sa";  
            String password = "123456";  
            //指明连接主机的IP地址  
            Connection conn = new Connection(hostname,9880);  
            Session ssh = null;  
            try {  
                //连接到主机  
                conn.connect();  
                //使用用户名和密码校验  
                boolean isconn = conn.authenticateWithPassword(username, password);  
                if(!isconn){  
                    System.out.println("用户名称或者是密码不正确");  
                }else{  
                    System.out.println("已经连接OK");  
                    ssh = conn.openSession();  
                    //使用多个命令用分号隔开  
//                    ssh.execCommand("ps -ef|grep java");  
                      ssh.execCommand("sh /opt/ali-rocketmq/devenv/bin/mqadmin consumerProgress -n \"10.103.16.77:9876;10.103.16.15:9876\"");  
  
                    //只允许使用一行命令,即ssh对象只能使用一次execCommand这个方法,多次使用则会出现异常  
 
                    //将屏幕上的文字全部打印出来  
                    InputStream  is = new StreamGobbler(ssh.getStdout());  
                    BufferedReader brs = new BufferedReader(new InputStreamReader(is));  
                    while(true){  
                        String line = brs.readLine();  
                        if(line==null){  
                            break;  
                        }  
                        System.out.println(line);  
                    }  

                }  
                //连接的Session和Connection对象都需要关闭  
                ssh.close();  
                conn.close();  

            } catch (IOException e) {  
                // TODO Auto-generated catch block  
                e.printStackTrace();  
            }  

        }  


}

报错
ERROR: Please set the JAVA_HOME variable in your environment, We need java(x64)! !!

在mqadmin脚本中加入  export JAVA_HOME=/usr/local/java 解决,正常输出结果
分享到:
评论

相关推荐

    mssh:mssh 是一个批处理执行 ssh 命令的工具

    mssh是一个批量远程ssh执行命令的工具。 它具有稳定、高效、准确,执行灵活方便,可以大幅度提高日常工作效率。 它的思想是:只用给它提供执行命令或者脚本和指定需要执行命令的机器列表,批量在指定机器上执行命令...

    Remoter.zip

    Golang编程 ssh执行上传下载,指令,批处理, 等处理的简单概念型代码, 要求下载人员自行对异常稍作处理

    数据库审计系统需求说明.docx

    内置高危SQL查询和注入、远程命令执行、跨站脚本攻击、 FTP和telnet高危指 令等审计规则不少于 300种。 规则可支持导入、导出、优先级调整、分组、批量加载等。 9 白名单 支持用户名、操作类型、IP地址、客户端工具...

    老男孩python 四期

    6、练习程序:用SOCKET模拟实现SSH客户端功能 6、项目实战二、开发FTP服务器\客户端软件 ※分别开发服务器端和客户端,通过Socket模块实现网络通信,模拟实现FTP主要的文件下载、上传功能、实现多用户并发在线使用...

    python入门到高级全栈工程师培训 第3期 附课件代码

    09 基于tcp实现远程执行命令测试结果 10 粘包现象 11 粘包解决方法 第31章 01 上节课复习 02 socketserver实现并发 03 socketserver模块介绍 04 socketserver源码分析tcp版本 05 socketserver源码分析udp版 06 ftp...

    Python Cookbook

    15.10 使用SSH执行远程登录 554 15.11 通过HTTPS验证一个SSL客户端 557 第16章 关于程序的程序 559 引言 559 16.1 验证字符串是否代表着一个合法的数字 564 16.2 导入一个动态生成的模块 565 16.3 导入一个...

    Chemex资产管理运维平台-PHP

    支持在线 SSH 远程访问管理设备。 设备归属到使用者。 设备故障报告。 硬件台账管理 其中包含了硬件的名称、规格、序列号、归属设备管理等维护内容,同时拥有硬件相关历史记录。 设备故障报告。 软件台账管理 其中...

    MySQL MTOP数据管理最新官方版

    3.系统资源监控优化,采用snmp方式代替ssh方式采集数据。 4.画图展示优化,采用jqplot。 5.界面UI优化,新加入flat-ui样式。 6.增加工具组件栏目:包括数据库大表检查,命中率查询,连接源统计等功能。 7.增加多用户...

    经典JAVA.EE企业应用实战.基于WEBLOGIC_JBOSS的JSF_EJB3_JPA整合开发.pdf

    8.3.1 开发远程调用的无状态 Session Bean 304 8.3.2 开发本地调用的无状态 Session Bean 311 8.4 发布Session Bean 314 8.4.1 打包EJB-JAR 315 8.4.2 Annotation与部署描述文件 315 8.5 开发有状态的Session Bean ...

    java开源包1

    以运行时异常的方式来管理错误的响应 使用泛型来做强类型编程 多协议扩展支持(REST, RPC, SOAP, etc) Rails3消息队列系统 Sidekiq Sidekiq 为 Rails 3 应用程序提供一个高效的消息队列系统。 Java文件上传组件 ...

    java开源包11

    以运行时异常的方式来管理错误的响应 使用泛型来做强类型编程 多协议扩展支持(REST, RPC, SOAP, etc) Rails3消息队列系统 Sidekiq Sidekiq 为 Rails 3 应用程序提供一个高效的消息队列系统。 Java文件上传组件 ...

    java开源包2

    以运行时异常的方式来管理错误的响应 使用泛型来做强类型编程 多协议扩展支持(REST, RPC, SOAP, etc) Rails3消息队列系统 Sidekiq Sidekiq 为 Rails 3 应用程序提供一个高效的消息队列系统。 Java文件上传组件 ...

    java开源包3

    以运行时异常的方式来管理错误的响应 使用泛型来做强类型编程 多协议扩展支持(REST, RPC, SOAP, etc) Rails3消息队列系统 Sidekiq Sidekiq 为 Rails 3 应用程序提供一个高效的消息队列系统。 Java文件上传组件 ...

    java开源包6

    以运行时异常的方式来管理错误的响应 使用泛型来做强类型编程 多协议扩展支持(REST, RPC, SOAP, etc) Rails3消息队列系统 Sidekiq Sidekiq 为 Rails 3 应用程序提供一个高效的消息队列系统。 Java文件上传组件 ...

    java开源包5

    以运行时异常的方式来管理错误的响应 使用泛型来做强类型编程 多协议扩展支持(REST, RPC, SOAP, etc) Rails3消息队列系统 Sidekiq Sidekiq 为 Rails 3 应用程序提供一个高效的消息队列系统。 Java文件上传组件 ...

    java开源包10

    以运行时异常的方式来管理错误的响应 使用泛型来做强类型编程 多协议扩展支持(REST, RPC, SOAP, etc) Rails3消息队列系统 Sidekiq Sidekiq 为 Rails 3 应用程序提供一个高效的消息队列系统。 Java文件上传组件 ...

    java开源包4

    以运行时异常的方式来管理错误的响应 使用泛型来做强类型编程 多协议扩展支持(REST, RPC, SOAP, etc) Rails3消息队列系统 Sidekiq Sidekiq 为 Rails 3 应用程序提供一个高效的消息队列系统。 Java文件上传组件 ...

    java开源包8

    以运行时异常的方式来管理错误的响应 使用泛型来做强类型编程 多协议扩展支持(REST, RPC, SOAP, etc) Rails3消息队列系统 Sidekiq Sidekiq 为 Rails 3 应用程序提供一个高效的消息队列系统。 Java文件上传组件 ...

    java开源包7

    以运行时异常的方式来管理错误的响应 使用泛型来做强类型编程 多协议扩展支持(REST, RPC, SOAP, etc) Rails3消息队列系统 Sidekiq Sidekiq 为 Rails 3 应用程序提供一个高效的消息队列系统。 Java文件上传组件 ...

Global site tag (gtag.js) - Google Analytics