com.sshtools.j2ssh.transport
Class AbstractKnownHostsKeyVerification
java.lang.Object
com.sshtools.j2ssh.transport.AbstractKnownHostsKeyVerification
- HostKeyVerification
public abstract class AbstractKnownHostsKeyVerification
extends java.lang.Object
An abstract HostKeyVerification
class providing validation
against the known_hosts format.
void | allowHost(String host, SshPublicKey pk, boolean always) -
Allows a host key, optionally recording the key to the known_hosts file.
|
Map | allowedHosts() -
Returns a Map of the allowed hosts.
|
boolean | isHostFileWriteable() -
Determines whether the host file is writable.
|
abstract void | onHostKeyMismatch(String host, SshPublicKey allowedHostKey, SshPublicKey actualHostKey) -
Called by the
verifyHost method when the host key supplied
by the host does not match the current key recording in the known hosts
file.
|
abstract void | onUnknownHost(String host, SshPublicKey key) -
Called by the
verifyHost method when the host key supplied
is not recorded in the known_hosts file.
|
void | removeAllowedHost(String host) -
Removes an allowed host.
|
void | saveHostFile() -
Save's the host key file to be saved.
|
String | toString() -
Outputs the allowed hosts in the known_hosts file format.
|
boolean | verifyHost(String host, SshPublicKey pk) -
Verifies a host key against the list of known_hosts.
|
AbstractKnownHostsKeyVerification
public AbstractKnownHostsKeyVerification(String knownhosts)
throws InvalidHostFileException
Constructs a host key verification instance reading the specified
known_hosts file.
knownhosts
- the path of the known_hosts file
allowHost
public void allowHost(String host,
SshPublicKey pk,
boolean always)
throws InvalidHostFileException
Allows a host key, optionally recording the key to the known_hosts file.
host
- the name of the hostpk
- the public key to allowalways
- true if the key should be written to the known_hosts file
allowedHosts
public Map allowedHosts()
Returns a Map of the allowed hosts.
The keys of the returned Map are comma separated strings of
"hostname,ipaddress". The value objects are Maps containing a string
key of the public key alogorithm name and the public key as the value.
isHostFileWriteable
public boolean isHostFileWriteable()
Determines whether the host file is writable.
- true if the host file is writable, otherwise false
onHostKeyMismatch
public abstract void onHostKeyMismatch(String host,
SshPublicKey allowedHostKey,
SshPublicKey actualHostKey)
throws TransportProtocolException
Called by the verifyHost
method when the host key supplied
by the host does not match the current key recording in the known hosts
file.
host
- the name of the hostallowedHostKey
- the current key recorded in the known_hosts file.actualHostKey
- the actual key supplied by the user
onUnknownHost
public abstract void onUnknownHost(String host,
SshPublicKey key)
throws TransportProtocolException
Called by the
verifyHost
method when the host key supplied
is not recorded in the known_hosts file.
host
- the name of the hostkey
- the public key supplied by the host
removeAllowedHost
public void removeAllowedHost(String host)
Removes an allowed host.
host
- the host to remove
toString
public String toString()
Outputs the allowed hosts in the known_hosts file format.
The format consists of any number of lines each representing one key for
a single host.
titan,192.168.1.12 ssh-dss AAAAB3NzaC1kc3MAAACBAP1/U4Ed.....
titan,192.168.1.12 ssh-rsa AAAAB3NzaC1kc3MAAACBAP1/U4Ed.....
einstein,192.168.1.40 ssh-dss AAAAB3NzaC1kc3MAAACBAP1/U4Ed.....
verifyHost
public boolean verifyHost(String host,
SshPublicKey pk)
throws TransportProtocolException
Verifies a host key against the list of known_hosts.
If the host unknown or the key does not match the currently allowed host
key the abstract
onUnknownHost
or
onHostKeyMismatch
methods are called so that the caller
may identify and allow the host.
- verifyHost in interface HostKeyVerification
host
- the name of the hostpk
- the host key supplied
- true if the host is accepted, otherwise false
Copyright © 2002-2003 Lee David Painter & Contributors. All Rights Reserved.