Class AbstractSSHConnection

    • Field Detail

      • m_Host

        protected String m_Host
        the SSH host.
      • m_Port

        protected int m_Port
        the SSH port.
      • m_AuthenticationType

        protected SSHAuthenticationType m_AuthenticationType
        the type of authentication to use.
      • m_User

        protected String m_User
        the SSH user to use.
      • m_Password

        protected BasePassword m_Password
        the SSH password to use.
      • m_PrivateKeyFile

        protected PlaceholderFile m_PrivateKeyFile
        the location of the private key.
      • m_PrivateKeyPassphrase

        protected BasePassword m_PrivateKeyPassphrase
        the passphrase for the private key.
      • m_KnownHosts

        protected PlaceholderFile m_KnownHosts
        the file with known hosts.
      • m_StrictHostKeyChecking

        protected boolean m_StrictHostKeyChecking
        whether to perform strict host key checking (only disable for testing!! insecure!!).
      • m_Session

        protected transient com.jcraft.jsch.Session m_Session
        the SSH session.
      • m_AssignedPort

        protected int m_AssignedPort
        the assigned port.
    • Constructor Detail

      • AbstractSSHConnection

        public AbstractSSHConnection()
    • Method Detail

      • setHost

        public void setHost​(String value)
        Sets the host to connect to.
        Parameters:
        value - the host name/ip
      • getHost

        public String getHost()
        Returns the host to connect to.
        Returns:
        the host name/ip
      • hostTipText

        public String hostTipText()
        Returns the tip text for this property.
        Returns:
        tip text for this property suitable for displaying in the GUI or for listing the options.
      • setPort

        public void setPort​(int value)
        Sets the remote SSH port to connect to.
        Parameters:
        value - the port
      • getPort

        public int getPort()
        Returns the remote SSH port to connect to.
        Returns:
        the port
      • portTipText

        public String portTipText()
        Returns the tip text for this property.
        Returns:
        tip text for this property suitable for displaying in the GUI or for listing the options.
      • setAuthenticationType

        public void setAuthenticationType​(SSHAuthenticationType value)
        Sets the type of authentication to use.
        Parameters:
        value - the type
      • getAuthenticationType

        public SSHAuthenticationType getAuthenticationType()
        Returns the type of authentication to use.
        Returns:
        the type
      • authenticationTypeTipText

        public String authenticationTypeTipText()
        Returns the tip text for this property.
        Returns:
        tip text for this property suitable for displaying in the GUI or for listing the options.
      • setUser

        public void setUser​(String value)
        Sets the SSH user to use.
        Parameters:
        value - the user name
      • getUser

        public String getUser()
        Returns the SSH user name to use.
        Returns:
        the user name
      • userTipText

        public String userTipText()
        Returns the tip text for this property.
        Returns:
        tip text for this property suitable for displaying in the GUI or for listing the options.
      • passwordTipText

        public String passwordTipText()
        Returns the tip text for this property.
        Returns:
        tip text for this property suitable for displaying in the GUI or for listing the options.
      • setPrivateKeyFile

        public void setPrivateKeyFile​(PlaceholderFile value)
        Sets the location of the private key file.
        Parameters:
        value - the key file
      • getPrivateKeyFile

        public PlaceholderFile getPrivateKeyFile()
        Returns the location of the private key file.
        Returns:
        the key file
      • privateKeyFileTipText

        public String privateKeyFileTipText()
        Returns the tip text for this property.
        Returns:
        tip text for this property suitable for displaying in the GUI or for listing the options.
      • setPrivateKeyPassphrase

        public void setPrivateKeyPassphrase​(BasePassword value)
        Sets the passphrase for the private key file, ignored if empty.
        Parameters:
        value - the passphrase
      • getPrivateKeyPassphrase

        public BasePassword getPrivateKeyPassphrase()
        Returns the passphrase for the private key file, ignored if empty.
        Returns:
        the passphrase
      • privateKeyPassphraseTipText

        public String privateKeyPassphraseTipText()
        Returns the tip text for this property.
        Returns:
        tip text for this property suitable for displaying in the GUI or for listing the options.
      • setKnownHosts

        public void setKnownHosts​(PlaceholderFile value)
        Sets the file with the known hosts.
        Parameters:
        value - the file
      • getKnownHosts

        public PlaceholderFile getKnownHosts()
        Returns the file with the known hosts.
        Returns:
        the file
      • knownHostsTipText

        public String knownHostsTipText()
        Returns the tip text for this property.
        Returns:
        tip text for this property suitable for displaying in the GUI or for listing the options.
      • setStrictHostKeyChecking

        public void setStrictHostKeyChecking​(boolean value)
        Sets whether to perform strict host key checking. NB: only disabled for testing, as it is very insecure to disable it!
        Parameters:
        value - if true then strict checking is on
      • getStrictHostKeyChecking

        public boolean getStrictHostKeyChecking()
        Returns whether to perform strict host key checking. NB: only disabled for testing, as it is very insecure to disable it!
        Returns:
        true if strict checking is on
      • strictHostKeyCheckingTipText

        public String strictHostKeyCheckingTipText()
        Returns the tip text for this property.
        Returns:
        tip text for this property suitable for displaying in the GUI or for listing the options.
      • createSession

        protected com.jcraft.jsch.Session createSession​(String host,
                                                        int port)
                                                 throws Exception
        Creates a new Session object, but does not connect or establish the tunnel.
        Returns:
        the Session object
        Throws:
        Exception
      • newSession

        public com.jcraft.jsch.Session newSession()
        Returns a new session, connects and configures the tunnel.
        Specified by:
        newSession in interface SSHSessionProvider
        Returns:
        the session
      • newSession

        public com.jcraft.jsch.Session newSession​(String host,
                                                  int port)
        Returns a new session and connects.
        Specified by:
        newSession in interface SSHSessionProvider
        Parameters:
        host - the host to use
        port - the port to use
        Returns:
        the session
      • getSession

        public com.jcraft.jsch.Session getSession()
        Returns the SSH session. Attempts to reconnect when necessary or create new session when none present.
        Specified by:
        getSession in interface SSHSessionProvider
        Returns:
        the SSH session, null if not connected
      • doSend

        protected abstract String doSend​(RemoteCommand cmd,
                                         RemoteCommandProcessor processor,
                                         boolean request)
        Sends the command to the specified sscripting engine.
        Parameters:
        cmd - the command to send
        processor - the processor for formatting/parsing
        request - whether Request or Response
        Returns:
        null if successfully sent, otherwise error message
      • send

        protected String send​(RemoteCommand cmd,
                              RemoteCommandProcessor processor,
                              boolean request)
        Sends the command to the specified sscripting engine.
        Parameters:
        cmd - the command to send
        processor - the processor for formatting/parsing
        request - whether Request or Response
        Returns:
        null if successfully sent, otherwise error message