当前位置: 首页 > 工具软件 > Orion SSH2 > 使用案例 >

java orion ssh scp 使用案例

韶弘壮
2023-12-01

首先得先下载orion-ssh2-214.jar包。


把jar包加入你的classpath然后就可以使用了。

SSH的使用方法如下:

/**
   * 执行远程的封存脚本
   * @param host
   * @param username
   * @param password
   */
  public static List<String> runRomoteScript(String host, String username, String password, String cmd) throws Exception
  {
	  List<String> result = new ArrayList<String>();
      Connection conn = new Connection(host);
      conn.connect();
      boolean isAuthenticated = conn.authenticateWithPassword(username, password);
      if (isAuthenticated == false)
    	  throw new RuntimeException("权限不够");
      Session sess = conn.openSession();
      sess.execCommand(cmd);
      InputStream stdout = new StreamGobbler(sess.getStdout());
      BufferedReader br = new BufferedReader(new InputStreamReader(stdout));
      while (true)
      {
    	  String line = br.readLine();
    	  if (line == null)
    		  break;
    	  System.out.println(line);
    	  result.add(line);
      }
      sess.close();
      conn.close();
      return result;
  }

从远程获取文件:

/*
   * 命令成功执行
   */
  public static final String SUCCESS = "SUCCESS";
  
  /**
   * 从远程服务器下载文件到本地文件夹
   * @param host
   * @param username
   * @param password
   * @param romoteFileName
   * @param localDir
   */
  public static String getFileFromRemote(String host, String username, String password, String romoteFileName, String localDir)
  {
    String msg = SSHUtil.SUCCESS;
    try
    {
      Connection conn = new Connection(host);
      conn.connect();
      boolean isAuthenticated = conn.authenticateWithPassword(username, password);
      if (isAuthenticated == false)
        return "权限不够!";
      File inputFile = new File(localDir);
      if(!inputFile.exists())     //如果文件夹不存在,则新建文件夹
      {
        inputFile.mkdirs();
      }
      SCPClient scpClient = conn.createSCPClient();
      scpClient.get(romoteFileName, localDir);
      conn.close();
    }
    catch (IOException e)
    {
      return "出现了IO错误!";
    }
    return msg;
  }
以上代码经测试,运行正常,请放心使用。
SCPClient.put 
方法可以把文件发送到远程服务器。


 类似资料: