当前位置: 首页>>代码示例>>Java>>正文


Java ConfigRepository类代码示例

本文整理汇总了Java中com.jcraft.jsch.ConfigRepository的典型用法代码示例。如果您正苦于以下问题:Java ConfigRepository类的具体用法?Java ConfigRepository怎么用?Java ConfigRepository使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。


ConfigRepository类属于com.jcraft.jsch包,在下文中一共展示了ConfigRepository类的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。

示例1: open

import com.jcraft.jsch.ConfigRepository; //导入依赖的package包/类
public void open() throws JSchException {
	JSch jsch = new JSch();
	String conf = (String)Configure.getConfigure().getString("SshConfPath");
	if (new File(conf).exists()) {
		try {
			ConfigRepository configRepository = OpenSSHConfig.parseFile(conf);
			jsch.setConfigRepository(configRepository);
		}catch(IOException ignore) {
			
		}
	}
	session = jsch.getSession(this.username, this.host, this.port);
	session.setConfig("StrictHostKeyChecking", "no");
	session.setPassword(this.password);
	session.setTimeout(timeout);
	session.connect();
	channelSftp = (ChannelSftp) session.openChannel("sftp");
	channelSftp.connect();
}
 
开发者ID:int32bit,项目名称:openstack-java-sdk,代码行数:20,代码来源:RemoteExecutor.java

示例2: SshConfiguration

import com.jcraft.jsch.ConfigRepository; //导入依赖的package包/类
public SshConfiguration(ConfigRepository configRepository) throws JSchException {
	JSchHelper.configureGlobalSettings();

	this.configRepository = configRepository;
	jsch.setConfigRepository(this.configRepository);

	Assert.isTrue(Files.isRegularFile(getLocalSshKnownHostsPath()), getLocalSshKnownHostsPath() + " does not exist");
	jsch.setKnownHosts(getLocalSshKnownHostsPath().toString());
}
 
开发者ID:cronn-de,项目名称:ssh-proxy,代码行数:10,代码来源:SshConfiguration.java

示例3: createTunnelJSch

import com.jcraft.jsch.ConfigRepository; //导入依赖的package包/类
private static void createTunnelJSch(String gatewayHost, String remoteHost,
                                     int remotePort, int localPort) throws Exception {
  JSch.setLogger(new MyJSchLogger());
  JSch jsch=new JSch();

  try {
    // NOTE: jsch does not support all ciphers.  User may be
    //       prompted to accept host key authenticy even if
    //       the key is in the known_hosts file.
    File knownHosts = new File(FileUtils.getHomeDir()+".ssh/known_hosts");
    if (knownHosts.exists() && knownHosts.canRead())
	    jsch.setKnownHosts(knownHosts.getAbsolutePath());
    ArrayList<File> privateKeys = new ArrayList<File>();
    if (!getSshKey().isEmpty()) {
      byte[] keyPass = null, key;
      if (!sshKeyPass.getValue().isEmpty())
        keyPass = sshKeyPass.getValue().getBytes();
      jsch.addIdentity("TigerVNC", getSshKey().getBytes(), null, keyPass);
    } else if (!getSshKeyFile().isEmpty()) {
      File f = new File(getSshKeyFile());
      if (!f.exists() || !f.canRead())
        throw new Exception("Cannot access SSH key file "+getSshKeyFile());
      privateKeys.add(f);
    }
    for (Iterator<File> i = privateKeys.iterator(); i.hasNext();) {
      File privateKey = (File)i.next();
      if (privateKey.exists() && privateKey.canRead())
        if (!sshKeyPass.getValue().isEmpty())
	        jsch.addIdentity(privateKey.getAbsolutePath(),
                           sshKeyPass.getValue());
        else
	        jsch.addIdentity(privateKey.getAbsolutePath());
    }

    String user = getSshUser();
    String label = new String("SSH Authentication");
    PasswdDialog dlg =
      new PasswdDialog(label, (user == null ? false : true), false);
    dlg.userEntry.setText(user != null ? user : "");
    File ssh_config = new File(sshConfig.getValue());
    if (ssh_config.exists() && ssh_config.canRead()) {
      ConfigRepository repo =
        OpenSSHConfig.parse(ssh_config.getAbsolutePath());
      jsch.setConfigRepository(repo);
    }
    Session session=jsch.getSession(user, gatewayHost, getSshPort());
    session.setUserInfo(dlg);
    // OpenSSHConfig doesn't recognize StrictHostKeyChecking
    if (session.getConfig("StrictHostKeyChecking") == null)
      session.setConfig("StrictHostKeyChecking", "ask");
    session.connect();
    session.setPortForwardingL(localPort, remoteHost, remotePort);
  } catch (java.lang.Exception e) {
    throw new Exception(e.getMessage()); 
  }
}
 
开发者ID:TigerVNC,项目名称:tigervnc,代码行数:57,代码来源:Tunnel.java

示例4: getSession

import com.jcraft.jsch.ConfigRepository; //导入依赖的package包/类
/**
 * get a new session using the default attributes if the given String is a full uri, use the
 * data from the uri instead
 *
 * @param pathOrUri
 *            might be just a path or a full ssh or sftp uri
 * @return matching Session
 * @throws IOException if something goes wrong
 */
protected Session getSession(String pathOrUri) throws IOException {
    URI uri = parseURI(pathOrUri);
    String host = getHost();
    int port = getPort();
    String user = getUser();
    String userPassword = getUserPassword();
    String sshConfig = getSshConfig();
    File keyFile = getKeyFile();
    if (uri != null && uri.getScheme() != null) {
        if (uri.getHost() != null) {
            host = uri.getHost();
        }
        if (uri.getPort() != -1) {
            port = uri.getPort();
        }
        if (uri.getUserInfo() != null) {
            String userInfo = uri.getUserInfo();
            if (!userInfo.contains(":")) {
                user = userInfo;
            } else {
                user = userInfo.substring(0, userInfo.indexOf(":"));
                userPassword = userInfo.substring(userInfo.indexOf(":") + 1);
            }
        }
    }

    if (sshConfig != null) {
        ConfigRepository configRepository = OpenSSHConfig.parseFile(sshConfig);
        Config config = configRepository.getConfig(host);
        host = config.getHostname();
        if (user == null) {
            user = config.getUser();
        }
        String keyFilePath = config.getValue("IdentityFile");
        if (keyFilePath != null && keyFile == null) {
            keyFile = new File(keyFilePath);
        }
    }

    if (host == null) {
        throw new IllegalArgumentException(
                "missing host information. host should be provided either "
                        + "directly on the repository or in the connection URI "
                        + ", or in the openssh config file specified by sshConfig");
    }
    if (user == null) {
        Credentials c = requestCredentials(host);
        if (c != null) {
            user = c.getUserName();
            userPassword = c.getPasswd();
        } else {
            Message.error("username is not set");
        }
    }
    return SshCache.getInstance().getSession(host, port, user, userPassword, keyFile,
        getKeyFilePassword(), getPassFile(), isAllowedAgentUse());
}
 
开发者ID:apache,项目名称:ant-ivy,代码行数:67,代码来源:AbstractSshBasedRepository.java


注:本文中的com.jcraft.jsch.ConfigRepository类示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。