Class Ssh


  • public class Ssh
    extends AbstractBinaryWithTimeout
    Wrapper for the ssh binary.
    NB: No interactive shell possible.
    Author:
    FracPete (fracpete at waikato dot ac dot nz)
    • Field Detail

      • version1

        protected boolean version1
      • version2

        protected boolean version2
      • ipv4

        protected boolean ipv4
      • ipv6

        protected boolean ipv6
      • forwardAgent

        protected java.lang.Boolean forwardAgent
      • bindAddress

        protected java.lang.String bindAddress
      • compression

        protected boolean compression
      • cipherSpec

        protected java.lang.String cipherSpec
      • dynamicBindAddress

        protected java.lang.String dynamicBindAddress
      • logFile

        protected java.lang.String logFile
      • escapeChar

        protected java.lang.String escapeChar
      • configFile

        protected java.lang.String configFile
      • background

        protected boolean background
      • printConfig

        protected boolean printConfig
      • allowRemoteConnect

        protected boolean allowRemoteConnect
      • pkcs11

        protected java.lang.String pkcs11
      • identifyFile

        protected java.lang.String identifyFile
      • gssapi

        protected java.lang.Boolean gssapi
      • local

        protected java.lang.String local
      • loginName

        protected java.lang.String loginName
      • masterMode

        protected boolean masterMode
      • macSpec

        protected java.lang.String macSpec
      • noRemoteExecute

        protected boolean noRemoteExecute
      • fromNull

        protected boolean fromNull
      • controlCommand

        protected java.lang.String controlCommand
      • option

        protected java.util.List<java.lang.String> option
      • port

        protected int port
      • queryOption

        protected java.lang.String queryOption
      • quiet

        protected boolean quiet
      • remote

        protected java.lang.String remote
      • controlSocket

        protected java.lang.String controlSocket
      • subsystem

        protected boolean subsystem
      • terminal

        protected java.lang.Boolean terminal
      • version

        protected boolean version
      • verbose

        protected int verbose
      • forwardTo

        protected java.lang.String forwardTo
      • forwardTunnel

        protected java.lang.String forwardTunnel
      • x11

        protected java.lang.Boolean x11
      • trustedX11

        protected boolean trustedX11
      • syslog

        protected boolean syslog
      • hostname

        protected java.lang.String hostname
      • command

        protected java.lang.String command
      • sshPass

        protected SshPass sshPass
    • Constructor Detail

      • Ssh

        public Ssh()
    • Method Detail

      • outputCommandline

        public Ssh outputCommandline​(boolean value)
        Sets output commandline flag.
        Overrides:
        outputCommandline in class AbstractBinary
        Parameters:
        value - true if to output commandline
        Returns:
        itself
      • version1

        public Ssh version1​(boolean value)
        ssh option: -1
      • getVersion1

        public boolean getVersion1()
        ssh option: -2
      • version2

        public Ssh version2​(boolean value)
        ssh option: -2
      • getVersion2

        public boolean getVersion2()
        ssh option: -2
      • ipv4

        public Ssh ipv4​(boolean value)
        ssh option: -4
      • getIpv4

        public boolean getIpv4()
        ssh option: -4
      • ipv6

        public Ssh ipv6​(boolean value)
        ssh option: -6
      • getIpv6

        public boolean getIpv6()
        ssh option: -6
      • forwardAgent

        public Ssh forwardAgent​(java.lang.Boolean value)
        Use null to set it to user/system default. Other true/false to turn on/off. ssh option: -A (true)/-a (false)
        Parameters:
        value - the value, null for default
        Returns:
        itself
      • getForwardAgent

        public java.lang.Boolean getForwardAgent()
        ssh option: -A (true)/-a (false)
      • bindAddress

        public Ssh bindAddress​(java.lang.String value)
        ssh option: -b
      • getBindAddress

        public java.lang.String getBindAddress()
        ssh option: -b
      • compression

        public Ssh compression​(boolean value)
        ssh option: -C
      • getCompression

        public boolean getCompression()
        ssh option: -C
      • cipherSpec

        public Ssh cipherSpec​(java.lang.String value)
        ssh option: -c
      • getCipherSpec

        public java.lang.String getCipherSpec()
        ssh option: -c
      • dynamicBindAddress

        public Ssh dynamicBindAddress​(java.lang.String value)
        ssh option: -D
      • getDynamicBindAddress

        public java.lang.String getDynamicBindAddress()
        ssh option: -D
      • logFile

        public Ssh logFile​(java.lang.String value)
        ssh option: -E
      • getLogFile

        public java.lang.String getLogFile()
        ssh option: -E
      • escapeChar

        public Ssh escapeChar​(java.lang.String value)
        ssh option: -e
      • getEscapeChar

        public java.lang.String getEscapeChar()
        ssh option: -e
      • configFile

        public Ssh configFile​(java.lang.String value)
        ssh option: -F
      • getConfigFile

        public java.lang.String getConfigFile()
        ssh option: -F
      • background

        public Ssh background​(boolean value)
        ssh option: -f
      • getBackground

        public boolean getBackground()
        ssh option: -f
      • printConfig

        public Ssh printConfig​(boolean value)
        ssh option: -G
      • getPrintConfig

        public boolean getPrintConfig()
        ssh option: -G
      • allowRemoteConnect

        public Ssh allowRemoteConnect​(boolean value)
        ssh option: -g
      • getAllowRemoteConnect

        public boolean getAllowRemoteConnect()
        ssh option: -g
      • pkcs11

        public Ssh pkcs11​(java.lang.String value)
        ssh option: -I
      • getPkcs11

        public java.lang.String getPkcs11()
        ssh option: -I
      • identifyFile

        public Ssh identifyFile​(java.lang.String value)
        ssh option: -i
      • getIdentifyFile

        public java.lang.String getIdentifyFile()
        ssh option: -i
      • gssapi

        public Ssh gssapi​(java.lang.Boolean value)
        Use null to set it to user/system default. Other true/false to turn on/off. ssh option: -K (true)/-k (false)
        Parameters:
        value - the value, null for default
        Returns:
        itself
      • getGssapi

        public java.lang.Boolean getGssapi()
        ssh option: -K (true)/-k (false)
      • local

        public Ssh local​(java.lang.String value)
        ssh option: -L
      • getLocal

        public java.lang.String getLocal()
        ssh option: -L
      • loginName

        public Ssh loginName​(java.lang.String value)
        ssh option: -l
      • getLoginName

        public java.lang.String getLoginName()
        ssh option: -l
      • masterMode

        public Ssh masterMode​(boolean value)
        ssh option: -M
      • getMasterMode

        public boolean getMasterMode()
        ssh option: -M
      • macSpec

        public Ssh macSpec​(java.lang.String value)
        ssh option: -m
      • getMacSpec

        public java.lang.String getMacSpec()
        ssh option: -m
      • noRemoteExecute

        public Ssh noRemoteExecute​(boolean value)
        ssh option: -N
      • getNoRemoteExecute

        public boolean getNoRemoteExecute()
        ssh option: -N
      • fromNull

        public Ssh fromNull​(boolean value)
        ssh option: -n
      • getFromNull

        public boolean getFromNull()
        ssh option: -n
      • controlCommand

        public Ssh controlCommand​(java.lang.String value)
        ssh option: -O
      • getControlCommand

        public java.lang.String getControlCommand()
        ssh option: -O
      • option

        public Ssh option​(java.lang.String... value)
        ssh option: -o
      • option

        public Ssh option​(java.util.List<java.lang.String> value)
        ssh option: -o
      • getOption

        public java.util.List<java.lang.String> getOption()
        ssh option: -o
      • port

        public Ssh port​(int value)
        ssh option: -p
      • getPort

        public int getPort()
        ssh option: -p
      • queryOption

        public Ssh queryOption​(java.lang.String value)
        ssh option: -Q
      • getQueryOption

        public java.lang.String getQueryOption()
        ssh option: -Q
      • quiet

        public Ssh quiet​(boolean value)
        ssh option: -q
      • getQuiet

        public boolean getQuiet()
        ssh option: -q
      • remote

        public Ssh remote​(java.lang.String value)
        ssh option: -R
      • getRemote

        public java.lang.String getRemote()
        ssh option: -R
      • controlSocket

        public Ssh controlSocket​(java.lang.String value)
        ssh option: -S
      • getControlSocket

        public java.lang.String getControlSocket()
        ssh option: -S
      • subsystem

        public Ssh subsystem​(boolean value)
        ssh option: -s
      • getSubsystem

        public boolean getSubsystem()
        ssh option: -s
      • terminal

        public Ssh terminal​(java.lang.Boolean value)
        Use null to set it to user/system default. Other true/false to turn on/off. ssh option: -t (true)/-T (false)
        Parameters:
        value - the value, null for default
        Returns:
        itself
      • getTerminal

        public java.lang.Boolean getTerminal()
        ssh option: -t (true)/-T (false)
      • version

        public Ssh version​(boolean value)
        ssh option: -v
      • getVersion

        public boolean getVersion()
        ssh option: -v
      • verbose

        public Ssh verbose​(int value)
        ssh option: -v/-vv/-vvv
      • getVerbose

        public int getVerbose()
        ssh option: -v/-vv/-vvv
      • forwardTo

        public Ssh forwardTo​(java.lang.String value)
        ssh option: -W
      • getForwardTo

        public java.lang.String getForwardTo()
        ssh option: -W
      • forwardTunnel

        public Ssh forwardTunnel​(java.lang.String value)
        ssh option: -w
      • getForwardTunnel

        public java.lang.String getForwardTunnel()
        ssh option: -w
      • x11

        public Ssh x11​(java.lang.Boolean value)
        Use null to set it to user/system default. Other true/false to turn on/off. ssh option: -X
        Parameters:
        value - the value, null for default
        Returns:
        itself
      • getX11

        public java.lang.Boolean getX11()
        ssh option: -X
      • trustedX11

        public Ssh trustedX11​(boolean value)
        ssh option: -Y
      • getTrustedX11

        public boolean getTrustedX11()
        ssh option: -Y
      • syslog

        public Ssh syslog​(boolean value)
        ssh option: -y
      • getSyslog

        public boolean getSyslog()
        ssh option: -y
      • hostname

        public Ssh hostname​(java.lang.String value)
      • getHostname

        public java.lang.String getHostname()
      • command

        public Ssh command​(java.lang.String value)
      • getCommand

        public java.lang.String getCommand()
      • sshPass

        public Ssh sshPass​(SshPass value)
        Sets the sshpass instance to use.
        Parameters:
        value - the instance, use null to not use sshpass
        Returns:
        itselff
      • getSshPass

        public SshPass getSshPass()
        Returns the current sshpass instance in use.
        Returns:
        the instance, null if none set
      • options

        public java.util.List<java.lang.String> options()
                                                 throws java.lang.Exception
        Assembles the arguments for the binary.
        Specified by:
        options in class AbstractBinary
        Returns:
        the options
        Throws:
        java.lang.Exception - if failed to determine binary
      • commandLineArgs

        public java.util.List<java.lang.String> commandLineArgs()
                                                         throws java.lang.Exception
        Assembles the full command-line arguments.
        Specified by:
        commandLineArgs in class AbstractBinary
        Returns:
        the command-line arguments
        Throws:
        java.lang.Exception - if failed to determine binary
        See Also:
        options()
      • description

        protected java.lang.String description()
        Returns a short description for the binary.
        Specified by:
        description in class AbstractBinary
        Returns:
        the description
      • getParser

        protected net.sourceforge.argparse4j.inf.ArgumentParser getParser()
        Configures and returns the commandline parser.
        Overrides:
        getParser in class AbstractBinaryWithTimeout
        Returns:
        the parser
      • setOptions

        protected boolean setOptions​(net.sourceforge.argparse4j.inf.Namespace ns)
        Sets the parsed options.
        Overrides:
        setOptions in class AbstractBinaryWithTimeout
        Parameters:
        ns - the parsed options
        Returns:
        if successfully set
      • main

        public static void main​(java.lang.String[] args)
                         throws java.lang.Exception
        For running from the command-line.
        Parameters:
        args - the arguments
        Throws:
        java.lang.Exception