2013-06-28 41 views
0

我目前正致力于制作一个Java应用程序,它将执行位于远程Windows机器的命令(通过命令提示符)。使用Jsch连接到远程窗口机器的问题

为了开发这个我曾尝试以下操作:

  1. 使用Jsch库,当连接到Unix机器应用效果很好,我能得到的使用进程列表“-a的prstat”命令,但是当我Windows机器尝试,它给了我的ConnectException(超时)

    private final static String HOSTNAME = "SOMECOMPUTERNAME.XXX.XXX.XXX.COM";// 
    private final static String USERNAME = "SOMEUSERNAME"; 
    private final static String PASSWORD = "SOMEPASSWORD"; 
    private final static int PORT = 22; 
    
    public static void main(String[] args) { 
        JSch jscc = new JSch(); 
        try { 
         Session session = jscc.getSession(USERNAME, HOSTNAME, PORT); 
         session.setPassword(PASSWORD); 
         Properties localProperties = new Properties(); 
         localProperties.put("StrictHostKeyChecking", "no"); 
         session.setConfig(localProperties); 
    
         session.connect(60000); 
         System.out.println("Session connected"); 
    
        } catch (JSchException e) { 
         e.printStackTrace(); 
        } 
    } 
    

目标机器信息:

  • 的Windows 64工作站
  • 的Java安装最新版本
  • 不使用任何加密

请引导到这一点,可以用它来完成Jsch库,如果不是,你可以推荐哪种方法。

  • 我不想在目标机器上的任何代码:

    下面的事情,你可以假设。所以一个Java应用程序驻留在我的工作站,只是执行一些简单的窗口命令,如dir或在目标窗口机器中启动applicationName

  • 我有用户名和相应的密码
  • 我没有ipaddress,只是一个完整计算机名称的格式如上面代码所示(HOSTNAME)

欢迎任何建议。

问候,

ICR

+1

嗯,目标机器实际上是否安装了SSH服务器?您是否尝试使用SSH客户端连接到它? – fge

+0

我想不是,我不得不与支援团队核对。如果没有安装呢? – icr

回答

0

Windows没有默认安装SSH。你将需要一个Windows客户端的SSH客户端。

我更喜欢OpenSSH ....它的免费和完美的作品