com.mindbright.ssh
public final class SSHPropertyHandler extends java.lang.Object implements SSHClientUser, SSHAuthenticator, ProxyAuthenticator
Modifier and Type | Field and Description |
---|---|
java.lang.String |
ciphAlgsSort |
protected java.lang.String |
currentAlias |
protected java.lang.String |
currentPropsFile |
static java.lang.String |
def_ciphAlgsSort |
static java.lang.String |
def_hostKeyAlgs |
static java.lang.String |
DEF_IDFILE |
static java.lang.String |
def_macAlgs |
static java.lang.String[][] |
defaultPropDesc |
static java.util.Properties |
defaultProperties |
static java.util.Hashtable<java.lang.String,java.lang.String> |
defaultPropNames |
java.lang.String |
hostKeyAlgs |
java.util.Properties |
initTermProps |
java.lang.String |
macAlgs |
static java.util.Hashtable<java.lang.String,java.lang.String> |
oldPropNames |
static int |
PROP_NAME |
static int |
PROP_VALUE |
static java.lang.String |
PROPS_FILE_EXT |
protected boolean |
propsChanged |
Constructor and Description |
---|
SSHPropertyHandler() |
SSHPropertyHandler(java.util.Properties initProps,
boolean setAsDefault) |
SSHPropertyHandler(SSHPropertyHandler clone) |
Modifier and Type | Method and Description |
---|---|
void |
activateProperties() |
void |
addLocalPortForward(java.lang.String fwdSpec,
boolean commit) |
void |
addRemotePortForward(java.lang.String fwdSpec,
boolean commit) |
java.lang.String[] |
availableAliases() |
static java.lang.String |
backwardCompatProp(java.lang.String key) |
void |
checkSave() |
boolean |
emptyPropertyPassword() |
void |
eraseProperty(java.lang.String key) |
static SSHPropertyHandler |
fromFile(java.lang.String fileName,
java.lang.String password) |
java.lang.String |
getAlias() |
int |
getAliveInterval()
Get alive interval (0 = do not send keepalive packets)
|
int[] |
getAuthTypes(SSHClientUser origin) |
java.lang.String |
getChallengeResponse(SSHClientUser origin,
java.lang.String challenge) |
int |
getCipher(SSHClientUser origin) |
int |
getCompressionLevel()
Get desired level of compression
|
int |
getConnectTimeout()
Timeout when connecting to server (in seconds)
|
java.lang.String |
getDefaultProperty(java.lang.String key) |
java.lang.String |
getDisplay()
Get the display for X11 forwardings
|
int |
getHelloTimeout()
Timeout when waiting for initial greeting from server (in seconds)
|
SSHRSAKeyFile |
getIdentityFile(SSHClientUser origin) |
java.lang.String |
getIdentityPassword(SSHClientUser origin) |
java.lang.String |
getIdentityPassword(java.lang.String prompt) |
java.util.Properties |
getInitTerminalProperties() |
SSHInteractor |
getInteractor()
Get interactor which should handle the authentication phase
|
int |
getKexTimeout()
Timeout of key exchange (in seconds)
|
int |
getMaxPacketSz()
get maximum packet size (0 = no limit)
|
java.lang.String |
getPassword(SSHClientUser origin) |
java.util.Properties |
getProperties() |
java.lang.String |
getProperty(java.lang.String key) |
boolean |
getPropertyB(java.lang.String key) |
int |
getPropertyI(java.lang.String key) |
NetworkConnection |
getProxyConnection()
Return a connection to the server.
|
java.lang.String |
getProxyPassword(java.lang.String type,
java.lang.String challenge) |
java.lang.String |
getProxyUsername(java.lang.String type,
java.lang.String challenge) |
java.lang.String |
getSrvHost()
Get host to connect to
|
int |
getSrvPort()
Get port number to connect to
|
java.lang.String |
getSSHHomeDir() |
TerminalWindow |
getTerminal() |
java.lang.String |
getUsername(SSHClientUser origin) |
boolean |
hasHomeDir() |
boolean |
isAbsolutFile(java.lang.String fileName) |
boolean |
isAlias(java.lang.String alias) |
static boolean |
isProperty(java.lang.String key) |
boolean |
isReadOnly() |
void |
loadAbsoluteFile(java.lang.String fileName,
boolean promptPwd) |
void |
loadAliasFile(java.lang.String alias,
boolean promptPwd) |
void |
mergeProperties(java.util.Properties newProps) |
void |
passivateProperties() |
java.io.ByteArrayOutputStream |
readResource(java.lang.String name) |
void |
removeLocalTunnelAt(int idx,
boolean kill) |
void |
removeRemoteTunnelAt(int idx) |
void |
resetProperty(java.lang.String key) |
void |
resetToDefaults() |
void |
saveAsCurrentFile(java.lang.String fileName) |
void |
saveCurrentFile() |
void |
setAlias(java.lang.String alias) |
static void |
setAsDefault(java.util.Properties props) |
void |
setAutoLoadProps(boolean value) |
void |
setAutoSaveProps(boolean value) |
void |
setClient(SSHInteractiveClient client) |
void |
setDefaultProperty(java.lang.String key,
java.lang.String value) |
void |
setInteractor(SSHInteractor interactor) |
void |
setProperties(java.util.Properties newProps) |
void |
setProperty(java.lang.String key,
boolean value) |
void |
setProperty(java.lang.String key,
int value) |
void |
setProperty(java.lang.String key,
java.lang.String value) |
void |
setPropertyPassword(java.lang.String password) |
void |
setReadOnly(boolean value) |
void |
setSavePasswords(boolean value) |
boolean |
setSSHHomeDir(java.lang.String sshHomeDir) |
boolean |
verifyKnownHosts(java.security.interfaces.RSAPublicKey hostPub) |
boolean |
verifyKnownSSH2Hosts(SSHInteractiveClient cli,
SSH2Signature serverHostKey) |
boolean |
wantPTY()
Return true if we need a PTY on the server
|
boolean |
wantSave() |
boolean |
wantX11Forward()
Return true if X11 forwarding is desired
|
public static final int PROP_NAME
public static final int PROP_VALUE
public static final java.lang.String PROPS_FILE_EXT
public static final java.lang.String DEF_IDFILE
public static final java.lang.String def_hostKeyAlgs
public static final java.lang.String def_macAlgs
public static final java.lang.String def_ciphAlgsSort
public java.lang.String hostKeyAlgs
public java.lang.String macAlgs
public java.lang.String ciphAlgsSort
public static final java.util.Properties defaultProperties
public static final java.util.Hashtable<java.lang.String,java.lang.String> defaultPropNames
public static final java.util.Hashtable<java.lang.String,java.lang.String> oldPropNames
public static final java.lang.String[][] defaultPropDesc
protected java.lang.String currentPropsFile
protected java.lang.String currentAlias
public java.util.Properties initTermProps
protected boolean propsChanged
public SSHPropertyHandler()
public SSHPropertyHandler(java.util.Properties initProps, boolean setAsDefault)
public SSHPropertyHandler(SSHPropertyHandler clone)
public static java.lang.String backwardCompatProp(java.lang.String key)
public static void setAsDefault(java.util.Properties props)
public static SSHPropertyHandler fromFile(java.lang.String fileName, java.lang.String password) throws java.io.IOException
java.io.IOException
public void setInteractor(SSHInteractor interactor)
public void setClient(SSHInteractiveClient client)
public void setAutoLoadProps(boolean value)
public void setAutoSaveProps(boolean value)
public void setSavePasswords(boolean value)
public void setReadOnly(boolean value)
public boolean isReadOnly()
public void setPropertyPassword(java.lang.String password)
public boolean emptyPropertyPassword()
public boolean setSSHHomeDir(java.lang.String sshHomeDir)
public java.lang.String getSSHHomeDir()
public boolean hasHomeDir()
public void resetToDefaults()
public static boolean isProperty(java.lang.String key)
public java.lang.String getProperty(java.lang.String key)
public boolean getPropertyB(java.lang.String key)
public int getPropertyI(java.lang.String key)
public java.lang.String getDefaultProperty(java.lang.String key)
public void setDefaultProperty(java.lang.String key, java.lang.String value)
public void resetProperty(java.lang.String key)
public void eraseProperty(java.lang.String key)
public void setProperty(java.lang.String key, boolean value) throws java.lang.IllegalArgumentException, java.util.NoSuchElementException
java.lang.IllegalArgumentException
java.util.NoSuchElementException
public void setProperty(java.lang.String key, int value) throws java.lang.IllegalArgumentException, java.util.NoSuchElementException
java.lang.IllegalArgumentException
java.util.NoSuchElementException
public void setProperty(java.lang.String key, java.lang.String value) throws java.lang.IllegalArgumentException, java.util.NoSuchElementException
java.lang.IllegalArgumentException
java.util.NoSuchElementException
public void setProperties(java.util.Properties newProps) throws java.lang.IllegalArgumentException, java.util.NoSuchElementException
java.lang.IllegalArgumentException
java.util.NoSuchElementException
public java.util.Properties getProperties()
public void mergeProperties(java.util.Properties newProps) throws java.lang.IllegalArgumentException
java.lang.IllegalArgumentException
public java.util.Properties getInitTerminalProperties()
public void activateProperties()
public void passivateProperties()
public boolean wantSave()
public final void checkSave() throws java.io.IOException
java.io.IOException
public void saveCurrentFile() throws java.io.IOException
java.io.IOException
public void saveAsCurrentFile(java.lang.String fileName) throws java.io.IOException
java.io.IOException
public void loadAbsoluteFile(java.lang.String fileName, boolean promptPwd) throws java.io.IOException
java.io.IOException
public void setAlias(java.lang.String alias)
public java.lang.String getAlias()
public void loadAliasFile(java.lang.String alias, boolean promptPwd) throws java.io.IOException
java.io.IOException
public java.lang.String[] availableAliases()
public boolean isAlias(java.lang.String alias)
public boolean isAbsolutFile(java.lang.String fileName)
public TerminalWindow getTerminal()
public void removeLocalTunnelAt(int idx, boolean kill)
public void removeRemoteTunnelAt(int idx)
public void addLocalPortForward(java.lang.String fwdSpec, boolean commit) throws java.lang.IllegalArgumentException, java.io.IOException
java.lang.IllegalArgumentException
java.io.IOException
public void addRemotePortForward(java.lang.String fwdSpec, boolean commit) throws java.lang.IllegalArgumentException
java.lang.IllegalArgumentException
public java.lang.String getUsername(SSHClientUser origin) throws java.io.IOException
getUsername
in interface SSHAuthenticator
java.io.IOException
public java.lang.String getPassword(SSHClientUser origin) throws java.io.IOException
getPassword
in interface SSHAuthenticator
java.io.IOException
public java.lang.String getChallengeResponse(SSHClientUser origin, java.lang.String challenge) throws java.io.IOException
getChallengeResponse
in interface SSHAuthenticator
java.io.IOException
public int[] getAuthTypes(SSHClientUser origin)
getAuthTypes
in interface SSHAuthenticator
public int getCipher(SSHClientUser origin)
getCipher
in interface SSHAuthenticator
public SSHRSAKeyFile getIdentityFile(SSHClientUser origin) throws java.io.IOException
getIdentityFile
in interface SSHAuthenticator
java.io.IOException
public java.lang.String getIdentityPassword(SSHClientUser origin) throws java.io.IOException
getIdentityPassword
in interface SSHAuthenticator
java.io.IOException
public java.lang.String getIdentityPassword(java.lang.String prompt) throws java.io.IOException
java.io.IOException
public boolean verifyKnownHosts(java.security.interfaces.RSAPublicKey hostPub) throws java.io.IOException
verifyKnownHosts
in interface SSHAuthenticator
java.io.IOException
public boolean verifyKnownSSH2Hosts(SSHInteractiveClient cli, SSH2Signature serverHostKey) throws java.io.IOException, SSH2Exception
java.io.IOException
SSH2Exception
public java.lang.String getProxyUsername(java.lang.String type, java.lang.String challenge) throws java.io.IOException
getProxyUsername
in interface ProxyAuthenticator
java.io.IOException
public java.lang.String getProxyPassword(java.lang.String type, java.lang.String challenge) throws java.io.IOException
getProxyPassword
in interface ProxyAuthenticator
java.io.IOException
public java.lang.String getSrvHost() throws java.io.IOException
SSHClientUser
getSrvHost
in interface SSHClientUser
java.io.IOException
public int getSrvPort()
SSHClientUser
getSrvPort
in interface SSHClientUser
public NetworkConnection getProxyConnection() throws java.io.IOException
SSHClientUser
getProxyConnection
in interface SSHClientUser
java.io.IOException
public java.io.ByteArrayOutputStream readResource(java.lang.String name)
public java.lang.String getDisplay()
SSHClientUser
getDisplay
in interface SSHClientUser
public int getMaxPacketSz()
SSHClientUser
getMaxPacketSz
in interface SSHClientUser
public int getAliveInterval()
SSHClientUser
getAliveInterval
in interface SSHClientUser
public int getCompressionLevel()
SSHClientUser
getCompressionLevel
in interface SSHClientUser
public int getConnectTimeout()
SSHClientUser
getConnectTimeout
in interface SSHClientUser
public int getHelloTimeout()
SSHClientUser
getHelloTimeout
in interface SSHClientUser
public int getKexTimeout()
SSHClientUser
getKexTimeout
in interface SSHClientUser
public boolean wantX11Forward()
SSHClientUser
wantX11Forward
in interface SSHClientUser
public boolean wantPTY()
SSHClientUser
wantPTY
in interface SSHClientUser
public SSHInteractor getInteractor()
SSHClientUser
getInteractor
in interface SSHClientUser