See: Description
Interface | Description |
---|---|
SshAuthenticator |
Implementations of this interface authenticate SSH connections given
appropriate credentials.
|
Class | Description |
---|---|
KerberosSshCredential |
Authenticates SSH connections via GSS-API in a Kerberos environment.
|
PasswordSshCredential |
Authenticates SSH connections using a password.
|
PublicKeySshCredential |
Authenticates SSH connections using the private key of a key pair.
|
SshCredential |
Base class for SSH credentials.
|
SshHostAccessor |
Provides access to a file system and execution system on a host using SSH.
|
SshSystemRequest |
Contains information needed to open a
HostControlSystem that uses the
SSH protocol. |
The SSH implementation is provided by the giraffe-ssh
library.
Every SSH system is associated with an open, active SSH connection until it is
closed. For this reason, systems should always be closed after use. Multiple SSH
systems can be open for a given host at the same time, but it is recommended that
applications save and share systems to reduce the cost associated with establishing
connections. SSH systems are never cached internally and the get
methods
on system providers always throw exceptions.
FileSystem
and ExecutionSystem
instances from the SSH
provider support upgrades using SystemUpgrader
Upgrades systems share a connection with the original system. While closing
the upgrades system does not affect the original, any event that corrupts the
connection will affect both systems. Changes made by one system are visible
to the other system provided the modification happens-before the
read. Note that the reverse is not true: detecting a modification does
not imply a happens-before relation.
The file system supports basic
and posix
file attributes.
File creation time is not supported: reading it returns the last modified time
while setting it throws an exception. User and group principals are represented
by their numeric IDs and translation between names and IDs is not supported. If
the user or group ID of a file is not available for some reason, the file system
returns a principal with ID -1
.
SSH systems log at the debug level for most operations. By default, this uses the
com.palantir.giraffe.ssh
logger. Users may provide a custom logger by setting
the logger
key to a valid Logger
instance in the
environment map used to create new systems.
Log statements are associated with the host of the originating system using the MDC
key giraffe-ssh-host
. Users are encouraged to include this information when
configuring logging.