Package com.trilead.ssh2.auth

Examples of com.trilead.ssh2.auth.AuthenticationManager


            boolean isAuthenticated = false;
            sshConnection = new Connection(this.getHost(), this.getPort());
               
            if (this.getProxyHost() != null && this.getProxyHost().length() > 0) {
                if (this.getProxyUser() != null && this.getProxyUser().length() > 0) {                   
                    sshConnection.setProxyData(new HTTPProxyData(this.getProxyHost(), this.getProxyPort(), this.getProxyUser(), this.getProxyPassword()));
                } else {
                  sshConnection.setProxyData(new HTTPProxyData(this.getProxyHost(), this.getProxyPort()));
                }
            }
               
            sshConnection.connect();
View Full Code Here


      boolean isAuthenticated = false;
      this.setSshConnection(new Connection(Options().host.Value(), objOptions.port.value()));

      if (objOptions.proxy_host.IsEmpty() == false) {
        if (objOptions.proxy_user.IsEmpty() == false) {
          this.getSshConnection().setProxyData(new HTTPProxyData(objOptions.proxy_host.Value(), objOptions.proxy_port.value()));
        }
        else {
          this.getSshConnection().setProxyData(
              new HTTPProxyData(objOptions.proxy_host.Value(), objOptions.proxy_port.value(), objOptions.proxy_user.Value(),
                  objOptions.proxy_password.Value()));
        }
      }

      this.getSshConnection().connect();
View Full Code Here

   
    public boolean spooler_process() {

        Order order = null;
        Variable_set params = null;
        SCPClient scpClient = null;

        try {
            try { // to fetch parameters from orders that have precedence over job parameters
                params = spooler_task.params();
               
                if (spooler_task.job().order_queue() != null) {
                    order = spooler_task.order();
                    if ( order.params() != null)
                      params.merge(order.params());
                }
               
                // get basic authentication parameters
                this.getBaseParameters();
               
                if (params.value("action") != null && params.value("action").length() > 0) {
                    if (!params.value("action").equalsIgnoreCase("get") && !params.value("action").equalsIgnoreCase("put"))
                        throw new Exception("invalid action parameter [action] specified, expected get, put: " + params.value("action"));
                    this.setAction(params.value("action").toLowerCase());
                    spooler_log.info(".. parameter [action]: " + this.getAction());
                } else {
                    throw new Exception("no action parameter [action] was specified");
                }

                if (params.value("file_list") != null && params.value("file_list").length() > 0) {
                    this.setFileList(params.value("file_list"));
                    spooler_log.info(".. parameter [file_list]: " + this.getFileList());
                } else {
                    if (this.getAction().equals("get")) throw new Exception("action [get] requires filenames being specified as parameter [file_list]");
                    this.setFileList("");
                }

               if (params.value("file_spec") != null && params.value("file_spec").length() > 0) {
                   this.setFileSpec(params.value("file_spec"));
                   spooler_log.info(".. parameter [file_spec]: " + this.getFileSpec());
               } else {
                   this.setFileSpec("^(.*)$");
               }

               if (params.value("local_dir") != null && params.value("local_dir").length() > 0) {
                   this.setLocalDir(this.normalizePath(params.value("local_dir")));
                   spooler_log.info(".. parameter [local_dir]: " + this.getLocalDir());
               } else {
                   this.setLocalDir(".");
               }

               if (params.value("remote_dir") != null && params.value("remote_dir").length() > 0) {
                   this.setRemoteDir(this.normalizePath(params.value("remote_dir")));
                   spooler_log.info(".. parameter [remote_dir]: " + this.getRemoteDir());
               } else {
                   this.setRemoteDir(".");
               }

               if (params.value("create_dir") != null && params.value("create_dir").length() > 0) {
                   if (params.value("create_dir").equalsIgnoreCase("true") || params.value("create_dir").equalsIgnoreCase("yes") || params.value("create_dir").equals("1")) {
                       this.setCreateDir(true);
                   } else {
                       this.setCreateDir(false);
                   }
                   spooler_log.info(".. parameter [create_dir]: " + this.isCreateDir());
               } else {
                   this.setCreateDir(true);
               }

               if (params.value("recursive") != null && params.value("recursive").length() > 0) {
                   if (params.value("recursive").equalsIgnoreCase("true") || params.value("recursive").equalsIgnoreCase("yes") || params.value("recursive").equals("1")) {
                       this.setRecursive(true);
                   } else {
                       this.setRecursive(false);
                   }
                   spooler_log.info(".. parameter [recursive]: " + this.isRecursive());
               } else {
                   this.setRecursive(false);
               }

               if (params.value("permissions") != null && params.value("permissions").length() > 0) {
                   try {
                       this.setPermissions(Integer.parseInt(params.value("permissions")));
                       spooler_log.info(".. parameter [permissions]: " + this.getPermissions());
                   } catch (Exception e) {
                       throw new Exception("illegal octal value for parameter [permissions]: " + params.value("permissions"));  
                   }
               } else {
                   this.setPermissions(0);
               }

           } catch (Exception e) {
               throw new Exception("error occurred processing parameters: " + e.getMessage());
           }
           
       
            try { // to connect, authenticate and process files
                this.getBaseAuthentication();
               
               
                scpClient = new SCPClient(this.getSshConnection());
               
               
                File localCheckDir = new File(this.getLocalDir());
                if (!localCheckDir.exists()) {
                    if (this.isCreateDir()) {
                        try {
                            // TODO use permissions: should no explicit permissions have been set then use the default permissions of the users home directory
                            localCheckDir.mkdirs();
                        } catch (Exception e) {
                            throw new Exception("error occurred creating local directory [" + this.getLocalDir() + "]: " + e.getMessage());
                        }
                    } else {
                        throw new Exception("local directory does not exist: " + this.getLocalDir());
                    }
                }
               
               
                // we know what we do: either String or File objects are stored in this Vector
                if (this.getFileList() != null && this.getFileList().length() > 0) {
                    // list of files for get or put operations
                    this.setFilenames(new Vector(Arrays.asList(this.getFileList().split(";"))));
                } else {
                    // list of files for put operations only
                  this.setFilenames(SOSFile.getFilelist( new File(this.getLocalDir()).getAbsolutePath(), this.getFileSpec(), java.util.regex.Pattern.MULTILINE,this.isRecursive()));
                }
               
               
                int count = 0;
                for(int i=0; i<this.getFilenames().size(); i++) {
                    try {
                        String filename = null;
                       
                        if (this.getFileList() != null && this.getFileList().length() > 0) {
                            filename = (String) this.getFilenames().get(i);
                        } else {
                            filename = ((File) this.getFilenames().get(i)).getAbsolutePath();
                        }
                       
                        if (this.getAction().equals("get")) {
                            if (this.getRemoteDir() != null && !this.getRemoteDir().equals(".")
                                && !filename.startsWith("/") && !filename.startsWith(":\\", 1))
                                filename = this.getRemoteDir() + "/" + filename;
                            spooler_log.info("file to receive: " + filename);
                        } else {
                            if (this.getLocalDir() != null && !this.getLocalDir().equals(".")
                                && !filename.startsWith("/") && !filename.startsWith(":\\", 1))
                                filename = this.getLocalDir() + "/" + filename;
                            spooler_log.info("file to send: " + filename);
                        }
                        this.getFilenames().setElementAt(filename, i);
                        count++;
                   
                    } catch (Exception e) {
                        throw new Exception(e.getMessage());
                    }
                }
               
                String[] files = new String[this.getFilenames().size()];
                this.getFilenames().toArray(files);
                if (this.getAction().equals("get")) {
                    scpClient.get(files, this.getLocalDir());
                } else {
                    if (this.getPermissions() > 0) {
                      if ( isRecursive() )
                           scp_recursive(new File(this.getLocalDir()),this.getRemoteDir(), scpClient);
                      else
                      scpClient.put(files, this.getRemoteDir());
                    } else {
                      if ( isRecursive() )
                      scp_recursive(new File(this.getLocalDir()),this.getRemoteDir(), scpClient);
                      else
                          scpClient.put(files, this.getRemoteDir());
                    }
                }
               
                switch (count) {
                    case 0:     throw new Exception("no matching files found");
View Full Code Here

        }
      }

    } catch (Exception e) {
      if (e instanceof SFTPException) {
        SFTPException sftpExp = (SFTPException) e;
        if (sftpExp.getServerErrorCode() != 2)
          sftpExp.printStackTrace();
      } else
        e.printStackTrace();

    }
View Full Code Here

  }

  public File transferCommandScript(File commandFile, boolean isWindows) throws Exception {
    try {
      SFTPv3Client sftpClient = new SFTPv3Client(this.getSshConnection());
      SFTPv3FileAttributes attr = new SFTPv3FileAttributes();
      attr.permissions = new Integer(0700);

      boolean exists = true;
      // check if File already exists
      while (exists) {
        try {
          SFTPv3FileAttributes attribs = sftpClient.stat(commandFile.getName());
        }
        catch (SFTPException e) {
          getLogger().debug9("Error code when checking file existence: " + e.getServerErrorCode());
          exists = false;
        }
        if (exists) {
          getLogger().debug1("file with that name already exists, trying new name...");
          String suffix = (isWindows ? ".cmd" : ".sh");
          File resultFile = File.createTempFile("sos", suffix);
          resultFile.delete();
          commandFile.renameTo(resultFile);
          commandFile = resultFile;
        }
      }

      // set execute permissions for owner
      SFTPv3FileHandle fileHandle = sftpClient.createFileTruncate(commandFile.getName(), attr);

      FileInputStream fis = null;
      long offset = 0;
      try {
        fis = new FileInputStream(commandFile);
        byte[] buffer = new byte[1024];
        while (true) {
          int len = fis.read(buffer, 0, buffer.length);
          if (len <= 0)
            break;
          sftpClient.write(fileHandle, offset, buffer, 0, len);
          offset += len;
        }
        fis.close();
        fis = null;

      }
      catch (Exception e) {
        throw new Exception("error occurred writing file [" + commandFile.getName() + "]: " + e.getMessage());
      }
      finally {
        if (fis != null)
          try {
            fis.close();
            fis = null;
          }
          catch (Exception ex) {
          } // gracefully ignore this error
      }
      sftpClient.closeFile(fileHandle);

      fileHandle = null;
      sftpClient.close();
      return commandFile;
    }
    catch (Exception e) {
      throw new Exception("Error transferring command script: " + e, e);
    }
View Full Code Here

    }
  }

  private void deleteCommandScript(String commandFile) throws Exception {
    try {
      SFTPv3Client sftpClient = new SFTPv3Client(this.getSshConnection());
      sftpClient.rm(commandFile);
      sftpClient.close();
    }
    catch (Exception e) {
      getLogger().warn("Failed to delete remote command script: " + e);
    }
  }
View Full Code Here

    }
  }

  private SFTPv3Client FtpClient() throws Exception {
    if (sftpClient == null) {
      sftpClient = new SFTPv3Client(this.getSshConnection());
    }
    return sftpClient;
  }
View Full Code Here

            if (!isAuthenticated) throw new Exception("authentication failed [host=" + this.getHost() + ", port=" + this.getPort() + ", user:" + this.getUser()
                    + ", auth_method=" + this.getAuthenticationMethod() + ", auth_file=" + this.getAuthenticationFilename());

           
            sftpClient = new SFTPv3Client(sshConnection);
            connected = true;
            reply = "OK";
        } catch (Exception e) {
          reply = e.toString();
            if (sshConnection != null) try { disconnect(); } catch (Exception ex) {} // gracefully ignore this error
View Full Code Here

  }

  private SFTPv3Client Client() {
    if (objFTPClient == null) {
      try {
        objFTPClient = new SFTPv3Client(sshConnection);
      }
      catch (IOException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
      }
View Full Code Here

      }
      Vector files = sftpClient.ls(pathname);     
      String[] rvFiles = new String[files.size()];
     
      for(int i=0; i<files.size();i++){
        SFTPv3DirectoryEntry entry = (SFTPv3DirectoryEntry) files.get(i);
        rvFiles[i] = entry.filename;
     
      reply = "ls OK";
      return rvFiles;
    } catch(Exception e){
View Full Code Here

TOP

Related Classes of com.trilead.ssh2.auth.AuthenticationManager

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.