當前位置: 首頁>>代碼示例>>Java>>正文


Java JSch.addIdentity方法代碼示例

本文整理匯總了Java中com.jcraft.jsch.JSch.addIdentity方法的典型用法代碼示例。如果您正苦於以下問題:Java JSch.addIdentity方法的具體用法?Java JSch.addIdentity怎麽用?Java JSch.addIdentity使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在com.jcraft.jsch.JSch的用法示例。


在下文中一共展示了JSch.addIdentity方法的15個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的Java代碼示例。

示例1: fileFetch

import com.jcraft.jsch.JSch; //導入方法依賴的package包/類
public static void fileFetch(String host, String user, String keyLocation, String sourceDir, String destDir) {
    JSch jsch = new JSch();
    Session session = null;
    try {
        // set up session
        session = jsch.getSession(user,host);
        // use private key instead of username/password
        session.setConfig(
                "PreferredAuthentications",
                "publickey,gssapi-with-mic,keyboard-interactive,password");
        jsch.addIdentity(keyLocation);
        java.util.Properties config = new java.util.Properties();
        config.put("StrictHostKeyChecking", "no");
        session.setConfig(config);
        session.connect();

        // copy remote log file to localhost.
        ChannelSftp channelSftp = (ChannelSftp) session.openChannel("sftp");
        channelSftp.connect();
        channelSftp.get(sourceDir, destDir);
        channelSftp.exit();

    } catch (Exception e) {
        e.printStackTrace();
    } finally {
        session.disconnect();
    }
}
 
開發者ID:thomas-young-2013,項目名稱:wherehowsX,代碼行數:29,代碼來源:SshUtils.java

示例2: build

import com.jcraft.jsch.JSch; //導入方法依賴的package包/類
public JSch build() throws JSchException {
    LOGGER.debug("Initializing JSch Logger");
    JSch.setLogger(new JschLogger());
    final JSch jsch = new JSch();
    try {
        if (null != knownHostsFileName && new File(knownHostsFileName).exists()) {
            jsch.setKnownHosts(knownHostsFileName);
        }
        if (null != privateKeyFileName && new File(privateKeyFileName).exists()) {
            jsch.addIdentity(privateKeyFileName);
        }
    } catch (JSchException e) {
        LOGGER.error("Could not access known hosts or private key file.", e);
        if (!(e.getCause() instanceof FileNotFoundException)) {
            throw new JSchException();
        }
    }
    return jsch;
}
 
開發者ID:cerner,項目名稱:jwala,代碼行數:20,代碼來源:JschBuilder.java

示例3: connect

import com.jcraft.jsch.JSch; //導入方法依賴的package包/類
/**
 * Connect to a remote host and return a channel (session and jsch are set)
 */
Channel connect(String channleType, String sshCommand) throws Exception {
	JSch.setConfig("StrictHostKeyChecking", "no"); // Not recommended, but useful
	jsch = new JSch();

	// Some "reasonable" defaults
	if (Gpr.exists(defaultKnownHosts)) jsch.setKnownHosts(defaultKnownHosts);
	for (String identity : defaultKnownIdentity)
		if (Gpr.exists(identity)) jsch.addIdentity(identity);

	// Create session and connect
	if (debug) Gpr.debug("Create conection:\n\tuser: '" + host.getUserName() + "'\n\thost : '" + host.getHostName() + "'\n\tport : " + host.getPort());
	session = jsch.getSession(host.getUserName(), host.getHostName(), host.getPort());
	session.setUserInfo(new SshUserInfo());
	session.connect();

	// Create channel
	channel = session.openChannel(channleType);
	if ((sshCommand != null) && (channel instanceof ChannelExec)) ((ChannelExec) channel).setCommand(sshCommand);

	return channel;
}
 
開發者ID:pcingola,項目名稱:BigDataScript,代碼行數:25,代碼來源:Ssh.java

示例4: testTestCommand

import com.jcraft.jsch.JSch; //導入方法依賴的package包/類
@Test
public void testTestCommand() throws JSchException, IOException {
    JSch jsch = new JSch();
    Session session = jsch.getSession("admin", "localhost", properties.getShell().getPort());
    jsch.addIdentity("src/test/resources/id_rsa");
    Properties config = new Properties();
    config.put("StrictHostKeyChecking", "no");
    session.setConfig(config);
    session.connect();
    ChannelShell channel = (ChannelShell) session.openChannel("shell");
    PipedInputStream pis = new PipedInputStream();
    PipedOutputStream pos = new PipedOutputStream();
    channel.setInputStream(new PipedInputStream(pos));
    channel.setOutputStream(new PipedOutputStream(pis));
    channel.connect();
    pos.write("test run bob\r".getBytes(StandardCharsets.UTF_8));
    pos.flush();
    verifyResponse(pis, "test run bob");
    pis.close();
    pos.close();
    channel.disconnect();
    session.disconnect();
}
 
開發者ID:anand1st,項目名稱:sshd-shell-spring-boot,代碼行數:24,代碼來源:SshdShellAutoConfigurationWithPublicKeyAndBannerImageTest.java

示例5: connectWithIdentity

import com.jcraft.jsch.JSch; //導入方法依賴的package包/類
public void connectWithIdentity(String identityPath, String passPhrase) throws JSchException,FileNotFoundException {
    if (identityPath == null || new File(identityPath).exists() == false) {
        throw new FileNotFoundException("Identity file not found !") ;
    }
    if (m_session != null) {
        m_session.disconnect();
    }
    preConnect();
    JSch jsch = new JSch();
    if (passPhrase != null && passPhrase.length() >0) {
        jsch.addIdentity(identityPath, passPhrase);
    }
    else {
        jsch.addIdentity(identityPath);
    }

    SSH2User userInfo = new SSH2User(m_username, passPhrase);
    m_session = jsch.getSession(m_username, m_host, m_port);
    m_session.setConfig(infos);
    m_session.setUserInfo(userInfo);
    m_session.connect();
}
 
開發者ID:vmware,項目名稱:vco-powershel-plugin,代碼行數:23,代碼來源:SSH2AbstractSession.java

示例6: SSHShell

import com.jcraft.jsch.JSch; //導入方法依賴的package包/類
/**
 * Creates SSHShell.
 *
 * @param host the host name
 * @param port the ssh port
 * @param userName the ssh user name
 * @param sshPrivateKey the ssh password
 * @return the shell
 * @throws JSchException
 * @throws IOException
 */
private SSHShell(String host, int port, String userName, byte[] sshPrivateKey)
    throws JSchException, IOException {
    Closure expectClosure = getExpectClosure();
    for (String linuxPromptPattern : new String[]{"\\>", "#", "~#", "~\\$"}) {
        try {
            Match match = new RegExpMatch(linuxPromptPattern, expectClosure);
            linuxPromptMatches.add(match);
        } catch (MalformedPatternException malformedEx) {
            throw new RuntimeException(malformedEx);
        }
    }
    JSch jsch = new JSch();
    jsch.setKnownHosts(System.getProperty("user.home") + "/.ssh/known_hosts");
    jsch.addIdentity(host, sshPrivateKey, (byte[]) null, (byte[]) null);
    this.session = jsch.getSession(userName, host, port);
    this.session.setConfig("StrictHostKeyChecking", "no");
    this.session.setConfig("PreferredAuthentications", "publickey,keyboard-interactive,password");
    session.connect(60000);
    this.channel = (ChannelShell) session.openChannel("shell");
    this.expect = new Expect4j(channel.getInputStream(), channel.getOutputStream());
    channel.connect();
}
 
開發者ID:Azure-Samples,項目名稱:acr-java-manage-azure-container-registry,代碼行數:34,代碼來源:SSHShell.java

示例7: createSession

import com.jcraft.jsch.JSch; //導入方法依賴的package包/類
private Session createSession(String host, Args args) throws JSchException {
  JSch jsch = new JSch();
  for (String keyFile : getKeyFiles()) {
    jsch.addIdentity(keyFile);
  }
  JSch.setLogger(new LogAdapter());

  Session session = jsch.getSession(args.user, host, args.sshPort);
  session.setConfig("StrictHostKeyChecking", "no");
  return session;
}
 
開發者ID:naver,項目名稱:hadoop,代碼行數:12,代碼來源:SshFenceByTcpPort.java

示例8: establishWithKey

import com.jcraft.jsch.JSch; //導入方法依賴的package包/類
public static Session establishWithKey(String sshHost, int sshPort, String user, String keyFilePath) throws JSchException {
    File keyFile = new File(keyFilePath);
    if (!keyFile.exists()) {
        String errorMsg = "Could not find SSH public key file in path: " + keyFilePath;
        logger.info(errorMsg);
        throw new JSchException(errorMsg);
    }
    Session session;
    JSch jsch = new JSch();
    try {
        jsch.addIdentity(keyFile.getAbsolutePath());
        session = jsch.getSession(user, sshHost, sshPort);
    }
    catch (JSchException e) {
        logger.error("SSH connection attempt to host: " + sshHost + ":" + sshPort + " failed");
        throw e;
    }
    return connect(session, sshHost, sshPort);
}
 
開發者ID:razreg,項目名稱:ubongo,代碼行數:20,代碼來源:SSHConnection.java

示例9: testJschConnection

import com.jcraft.jsch.JSch; //導入方法依賴的package包/類
@Test
public void testJschConnection() throws InterruptedException, SftpException, JSchException, IOException {
    JSch jsch = new JSch();
    String passphrase = "";
    jsch.addIdentity(privateKey,
        StringUtil.isEmpty(passphrase) ?
        null : passphrase);

    Session session = jsch.getSession(user, host, port);
    System.out.println("session created.");

    java.util.Properties config = new java.util.Properties();
    config.put("StrictHostKeyChecking", "no");
    config.put("PreferredAuthentications",
        "publickey,keyboard-interactive,password");
    session.setConfig(config);
    session.connect();
    Thread.sleep(500);
    session.disconnect();
}
 
開發者ID:sanchouss,項目名稱:InstantPatchIdeaPlugin,代碼行數:21,代碼來源:RemoteClientImplTest.java

示例10: pushToRepository

import com.jcraft.jsch.JSch; //導入方法依賴的package包/類
/**
 * Push all changes and tags to given remote.
 *
 * @param git
 *     instance.
 * @param remote
 *     to be used.
 * @param passphrase
 *     to access private key.
 * @param privateKey
 *     file location.
 *
 * @return List of all results of given push.
 */
public Iterable<PushResult> pushToRepository(Git git, String remote, String passphrase, Path privateKey) {
    SshSessionFactory sshSessionFactory = new JschConfigSessionFactory() {
        @Override
        protected void configure(OpenSshConfig.Host host, Session session) {
            session.setUserInfo(new PassphraseUserInfo(passphrase));
        }

        @Override
        protected JSch createDefaultJSch(FS fs) throws JSchException {
            if (privateKey != null) {
                JSch defaultJSch = super.createDefaultJSch(fs);
                defaultJSch.addIdentity(privateKey.toFile().getAbsolutePath());
                return defaultJSch;
            } else {
                return super.createDefaultJSch(fs);
            }
        }
    };

    try {
        return git.push()
            .setRemote(remote)
            .setPushAll()
            .setPushTags()
            .setTransportConfigCallback(transport -> {
                SshTransport sshTransport = (SshTransport) transport;
                sshTransport.setSshSessionFactory(sshSessionFactory);
            })
            .call();
    } catch (GitAPIException e) {
        throw new IllegalStateException(e);
    }
}
 
開發者ID:arquillian,項目名稱:arquillian-algeron,代碼行數:48,代碼來源:GitOperations.java

示例11: provideJSch

import com.jcraft.jsch.JSch; //導入方法依賴的package包/類
@Provides
static JSch provideJSch(
    @Config("rdeSshIdentity") String identity,
    @Key("rdeSshClientPrivateKey") String privateKey,
    @Key("rdeSshClientPublicKey") String publicKey) {
  applyAppEngineKludge();
  JSch jsch = new JSch();
  try {
    jsch.addIdentity(
        identity,
        privateKey.getBytes(UTF_8),
        publicKey.getBytes(UTF_8),
        null);
  } catch (JSchException e) {
    throw new RuntimeException(e);
  }
  // TODO(b/13028224): Implement known hosts checking.
  JSch.setConfig("StrictHostKeyChecking", "no");
  return jsch;
}
 
開發者ID:google,項目名稱:nomulus,代碼行數:21,代碼來源:JSchModule.java

示例12: copyFile

import com.jcraft.jsch.JSch; //導入方法依賴的package包/類
/**
	 * 
	 * @param sourceFilePath
	 * @param destinationFilePath
	 * @param destinationHost
	 * @param destinationPort
	 * @param destinationUserName
	 * @param destinationUserPassword
	 * @param destinationPrivateKeyFilePath
	 * @param destinationPrivateKeyPassphrase
	 * @throws IOException
	 * @throws JSchException
	 * @throws SftpException
	 */
	public static void copyFile(
			String sourceFilePath,
			String destinationFilePath,
			String destinationHost,
			String destinationPort,
			String destinationUserName,
			String destinationUserPassword,
			String destinationPrivateKeyFilePath,
			String destinationPrivateKeyPassphrase) throws IOException, JSchException, SftpException {
		
		JSch jsch = new JSch();
		
		if (!StringUtils.isEmptyOrNull(destinationPrivateKeyFilePath)) {
			jsch.addIdentity(destinationPrivateKeyFilePath, destinationPrivateKeyPassphrase);
		}
		
		int destinationPortNumber = 22;
		if (!StringUtils.isEmptyOrNull(destinationPort)) {
			destinationPortNumber = Integer.parseInt(destinationPort);
		}
		
		Session session = jsch.getSession(destinationUserName, destinationHost, destinationPortNumber);
		if (!StringUtils.isEmptyOrNull(destinationUserPassword)) {
			session.setPassword(destinationUserPassword);
		}
		
//		Properties config = new Properties();
//        config.put("StrictHostKeyChecking", "no");
//        session.setConfig(config);
        session.connect();
        
        Channel channel = session.openChannel("sftp");
        channel.connect();
        
        ChannelSftp channelSftp = (ChannelSftp)channel;        
        File destinationFile = new File(destinationFilePath);
        channelSftp.cd(destinationFile.getPath());
        channelSftp.put(new FileInputStream(sourceFilePath), destinationFile.getName());
		
		
	}
 
開發者ID:Web-of-Building-Data,項目名稱:Ifc2Rdf,代碼行數:56,代碼來源:SshFileUploader.java

示例13: open

import com.jcraft.jsch.JSch; //導入方法依賴的package包/類
@Override
public void open() throws RemoteConnectionException
{
	try
	{
		jsch = new JSch();
		LOGGER.debug("Adding publickey %s", host.getKeyFile());
		jsch.addIdentity(host.getKeyFile());

		openSession();
		
		connectionRegistry.add(this);
	} catch (JSchException e)
	{
		throw new RemoteConnectionException(e);
	}
}
 
開發者ID:StoragePerformanceAnalyzer,項目名稱:SPA,代碼行數:18,代碼來源:SSHRemoteConnection.java

示例14: open

import com.jcraft.jsch.JSch; //導入方法依賴的package包/類
@Override
public void open() throws RemoteConnectionException
{
	try
	{
		jsch = new JSch();
		LOGGER.debug("Adding publickey %s", host.getKeyFile());
		jsch.addIdentity(host.getKeyFile());

		openSession();

		connectionRegistry.add(this);
	} catch (JSchException e)
	{
		throw new RemoteConnectionException(e);
	}
}
 
開發者ID:StoragePerformanceAnalyzer,項目名稱:SPA,代碼行數:18,代碼來源:SSHRemoteConnection.java

示例15: connect

import com.jcraft.jsch.JSch; //導入方法依賴的package包/類
/**
 * Connects to and maintains a ssh connection.  If this method is called
 * twice, a reconnection is attempted
 *
 * @throws SshException          If the members of the SshConnection class are not properly set or if
 *                               there was a problem actually connecting to the specified host.
 * @throws IllegalStateException If connect() was called once successfully. connect() and any setter
 *                               method can't be called after successfully connecting without first
 *                               disconnecting.
 */
public void connect() throws SshException {
    exceptIfAlreadyConnected();

    try {
        JSch jsch = new JSch();

        validateMembers();

        if (this.usePrivateKey) {
            jsch.addIdentity(this.privateKeyFile.getAbsolutePath());
        }

        this.sshSession = jsch.getSession(this.username, this.host, this.port);
        this.sshSession.setConfig(SSH_PROPERTIES);

        if (!this.usePrivateKey && this.password != null) {
            this.sshSession.setPassword(this.password);
        }

        this.sshSession.connect();
    } catch (JSchException e) {
        throw new SshException(e);
    }

}
 
開發者ID:houdejun214,項目名稱:lakeside-java,代碼行數:36,代碼來源:SshConnection.java


注:本文中的com.jcraft.jsch.JSch.addIdentity方法示例由純淨天空整理自Github/MSDocs等開源代碼及文檔管理平台,相關代碼片段篩選自各路編程大神貢獻的開源項目,源碼版權歸原作者所有,傳播和使用請參考對應項目的License;未經允許,請勿轉載。