Package ch.ethz.ssh2

Examples of ch.ethz.ssh2.SCPClient


            sshConnection.connect(null, 60000, 60000);
            if (!sshConnection.authenticateWithPassword(username, password)) {
                throw new CloudRuntimeException("Unable to authenticate");
            }

            SCPClient scp = new SCPClient(sshConnection);
           
            String src = uri.getPath();

            _status = Status.IN_PROGRESS;
            scp.get(src, _toDir);
           
            if (!file.exists()) {
                _status = Status.UNRECOVERABLE_ERROR;
                s_logger.debug("unable to scp the file " + _downloadUrl);
                return 0;
View Full Code Here


        return sftpClient;
    }

    public SCPClient getSCPClient() throws IOException {
        openConnection();
        return new SCPClient(connection);
    }
View Full Code Here

       
        if (!ret) {
            throw new IOException("SSH password authentication failed for user " + userName + " on host " + node);
        }
        //initiate scp client
        SCPClient scp = new SCPClient(conn);
        SFTPClient sftp = new SFTPClient(connection);

        if (key.exists()) {

            //fixes .ssh file mode
            setupSSHDir();

            if (pubKeyFile == null) {
                pubKeyFile = keyFile + ".pub";
            }

            File pubKey = new File(pubKeyFile);
            if(!pubKey.exists()) {
                throw new IOException("Public key file " + pubKeyFile + " does not exist.");
            }

            try {
                if(!sftp.exists(SSH_DIR)) {
                    if(logger.isLoggable(Level.FINER)) {
                        logger.fine(SSH_DIR + " does not exist");
                    }
                    sftp.mkdirs(".ssh", 0700);
                }
            } catch (Exception e) {
                if(logger.isLoggable(Level.FINER)) {
                    e.printStackTrace();
                }
                throw new IOException("Error while creating .ssh directory on remote host:" + e.getMessage());
            }

            //copy over the public key to remote host
            scp.put(pubKey.getAbsolutePath(), "key.tmp", ".ssh", "0600");           

            //append the public key file contents to authorized_keys file on remote host
            String mergeCommand = "cd .ssh; cat key.tmp >> " + AUTH_KEY_FILE;
            if(logger.isLoggable(Level.FINER)) {
                logger.finer("mergeCommand = " + mergeCommand);
View Full Code Here

                remoteFileNames[i] = sourceDir + File.separator + allInstanceLogFileName.get(i);
            }

            sftpClient.close();

            SCPClient scpClient = sshL.getSCPClient();
            scpClient.get(remoteFileNames, tempDirectoryOnServer);
        } else if (node.getType().equals("DCOM")) {

            Vector instanceLogFileNames = getInstanceLogFileNames(habitat, targetServer, domain, logger, instanceName, instanceLogFileDirectory);

            String sourceDir = getLoggingDirectoryForNode(instanceLogFileDirectory, node, sNode, instanceName);
View Full Code Here

   *
   * @see jSimMacs.logic.location.DataHandler#readFile(java.lang.String)
   */
  public File readFile(String pathString) throws IOException {
    File file = null;
    SCPClient scpClient = null;
    SFTPv3DirectoryEntry dirEntry = null;
    boolean noFile = false;
    try {
      dirEntry = getDirectoryEntry(pathString);
    } catch (IOException e) {
      if (e instanceof SFTPException) {
        if (((SFTPException) e).getServerErrorCode() == 2)
          noFile = true;
        else
          throw e;
      }
    }

    if (noFile || !dirEntry.attributes.isDirectory()) {
      scpClient = new SCPClient(conn);
      String localPath = createTempPath(pathString);
      if (localPath == null)
        throw new IOException("Temp path problem");
      if (!noFile)
        scpClient.get(pathString, localPath);
      localPath += pathString.substring(pathString.lastIndexOf("/") + 1);
      file = new File(localPath);
    }
    return file;
  }
View Full Code Here

    serverPath = serverPath.replaceFirst(tmpDirectory, rProject.getPath());
    serverPath = serverPath.substring(0, serverPath
        .lastIndexOf(File.separator));
    serverPath = serverPath.replaceAll("\\\\", "/");
    SCPClient scpClient = new SCPClient(conn);
    scpClient.put(file.getPath(), serverPath, standardFilePermission);

  }
View Full Code Here

  public void copyToServer(File file, String path) throws IOException {
    String serverPath = path;
    SFTPv3DirectoryEntry pathEntry = getDirectoryEntry(path);
    if (pathEntry.attributes.isRegularFile())
      serverPath = serverPath.substring(0, serverPath.lastIndexOf("/"));
    SCPClient scpClient = new SCPClient(conn);
    scpClient.put(file.getPath(), serverPath, standardFilePermission);
  }
View Full Code Here

                sshConnection.connect(null, 60000, 60000);
                if (!sshConnection.authenticateWithPassword(_username, _password.peek())) {
                    throw new CloudRuntimeException("Unable to authenticate");
                }

                SCPClient scp = new SCPClient(sshConnection);

                List<File> files = getPatchFiles();
                if( files == null || files.isEmpty() ) {
                    throw new CloudRuntimeException("Can not find patch file");
                }
                for( File file :files) {
                    String path = file.getParentFile().getAbsolutePath() + "/";
                    Properties props = new Properties();
                    props.load(new FileInputStream(file));

                    for (Map.Entry<Object, Object> entry : props.entrySet()) {
                        String k = (String) entry.getKey();
                        String v = (String) entry.getValue();

                        assert (k != null && k.length() > 0 && v != null && v.length() > 0) : "Problems with " + k + "=" + v;

                        String[] tokens = v.split(",");
                        String f = null;
                        if (tokens.length == 3 && tokens[0].length() > 0) {
                            if (tokens[0].startsWith("/")) {
                                f = tokens[0];
                            } else if (tokens[0].startsWith("~")) {
                                String homedir = System.getenv("HOME");
                                f = homedir + tokens[0].substring(1) + k;
                            } else {
                                f = path + tokens[0] + '/' + k;
                            }
                        } else {
                            f = path + k;
                        }
                        String d = tokens[tokens.length - 1];
                        f = f.replace('/', File.separatorChar);

                        String p = "0755";
                        if (tokens.length == 3) {
                            p = tokens[1];
                        } else if (tokens.length == 2) {
                            p = tokens[0];
                        }

                        if (!new File(f).exists()) {
                            s_logger.warn("We cannot locate " + f);
                            continue;
                        }
                        if (s_logger.isDebugEnabled()) {
                            s_logger.debug("Copying " + f + " to " + d + " on " + hr.address + " with permission " + p);
                        }
                        scp.put(f, d, p);

                    }
                }

            } catch (IOException e) {
View Full Code Here

                boolean success = false;
                boolean isAuthenticated = conn.authenticateWithPassword("vmops", "vmops");
                if (isAuthenticated == false) {
                    return "Authentication failed";
                }
                SCPClient scp = new SCPClient(conn);

                scp.put("wget.exe", "");

                Session sess = conn.openSession();
                s_logger.info("Executing : wget http://172.16.0.220/dump.bin");
                sess.execCommand("wget http://172.16.0.220/dump.bin && dir dump.bin");
View Full Code Here

        com.trilead.ssh2.Connection sshConnection = new com.trilead.ssh2.Connection(_ip, 22);
        sshConnection.connect(null, 60000, 60000);
        if (!sshConnection.authenticateWithPassword(_username, _password)) {
            throw new CloudRuntimeException("Unable to authenticate");
        }
        SCPClient scp = new SCPClient(sshConnection);

        String configScriptName = "scripts/vm/hypervisor/ovm/configureOvm.sh";
        String configScriptPath = Script.findScript("", configScriptName);
        if (configScriptPath == null) {
            throw new CloudRuntimeException("Unable to find " + configScriptName);
        }
        scp.put(configScriptPath, "/usr/bin/", "0755");

        if (!SSHCmdHelper.sshExecuteCmd(sshConnection, "sh /usr/bin/configureOvm.sh preSetup")) {
            throw new CloudRuntimeException("Execute configureOvm.sh preSetup failed on " + _ip);
        }

        File tmp = new File(configScriptPath);
        File scriptDir = new File(tmp.getParent());
        File[] scripts = scriptDir.listFiles();
        for (int i = 0; i < scripts.length; i++) {
            File script = scripts[i];
            if (script.getName().equals("configureOvm.sh")) {
                continue;
            }

            if (s_logger.isDebugEnabled()) {
                s_logger.debug("Copying " + script.getPath() + " to " + s_ovsAgentPath + " on " + _ip + " with permission 0644");
            }
            scp.put(script.getPath(), s_ovsAgentPath, "0644");
        }

        sshConnection = SSHCmdHelper.acquireAuthorizedConnection(_ip, _username, _password);
        if (sshConnection == null) {
            throw new CloudRuntimeException(String.format("Cannot connect to ovm host(IP=%1$s, username=%2$s, password=%3$s", _ip, _username, _password));
View Full Code Here

TOP

Related Classes of ch.ethz.ssh2.SCPClient

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.