Class SshSessionFactory

  • Direct Known Subclasses:
    JschConfigSessionFactory

    public abstract class SshSessionFactory
    extends java.lang.Object
    Creates and destroys SSH connections to a remote system.

    Different implementations of the session factory may be used to control communicating with the end-user as well as reading their personal SSH configuration settings, such as known hosts and private keys.

    A RemoteSession must be returned to the factory that created it. Callers are encouraged to retain the SshSessionFactory for the duration of the period they are using the Session.

    • Constructor Detail

      • SshSessionFactory

        public SshSessionFactory()
    • Method Detail

      • getInstance

        public static SshSessionFactory getInstance()
        Get the currently configured JVM-wide factory.

        A factory is always available. By default the factory will read from the user's $HOME/.ssh and assume OpenSSH compatibility.

        Returns:
        factory the current factory for this JVM.
      • setInstance

        public static void setInstance​(SshSessionFactory newFactory)
        Change the JVM-wide factory to a different implementation.
        Parameters:
        newFactory - factory for future sessions to be created through. If null the default factory will be restored.s
      • getSession

        public abstract RemoteSession getSession​(URIish uri,
                                                 CredentialsProvider credentialsProvider,
                                                 FS fs,
                                                 int tms)
                                          throws TransportException
        Open (or reuse) a session to a host.

        A reasonable UserInfo that can interact with the end-user (if necessary) is installed on the returned session by this method.

        The caller must connect the session by invoking connect() if it has not already been connected.

        Parameters:
        uri - URI information about the remote host
        credentialsProvider - provider to support authentication, may be null.
        fs - the file system abstraction which will be necessary to perform certain file system operations.
        tms - Timeout value, in milliseconds.
        Returns:
        a session that can contact the remote host.
        Throws:
        TransportException - the session could not be created.