private Session initSessionUploadedKey()

in deploy-runner-agent/src/main/java/jetbrains/buildServer/deployer/agent/ssh/SSHSessionProvider.java [240:254]


  private Session initSessionUploadedKey(String username, String password, String keyId, JSch jsch) throws JSchException {
    final TeamCitySshKey key = mySshKeyManager.getKey(keyId);
    if (key == null) {
      throw new JSchException("Failed to load ssh key id=[" + keyId + "]");
    }

    try {
      jsch.addIdentity(key.getName(), key.getPrivateKey(), null, StringUtil.isNotEmpty(password) ? password.getBytes("UTF-8") : new byte[0]);
    } catch (UnsupportedEncodingException e) {
      myLog.error("Wrong encoding name", e);
    }
    final Session session = jsch.getSession(username, myHost, myPort);
    session.setConfig("PreferredAuthentications", "publickey");
    return session;
  }