| Modifier and Type | Method and Description |
|---|---|
protected SshAgentServer |
DefaultAgentForwardSupport.createSshAgentServer(ConnectionService service,
Session session) |
| Modifier and Type | Method and Description |
|---|---|
Channel |
ChannelAgentForwardingFactory.createChannel(Session session) |
| Modifier and Type | Method and Description |
|---|---|
Channel |
ChannelAgentForwardingFactory.createChannel(Session session) |
| Modifier and Type | Method and Description |
|---|---|
protected RequestHandler.Result |
OpenSshHostKeysHandler.handleHostKeys(Session session,
Collection<? extends PublicKey> keys,
boolean wantReply,
Buffer buffer) |
| Modifier and Type | Method and Description |
|---|---|
protected void |
DHGClient.verifyCertificate(Session session,
OpenSshCertificate openSshKey) |
| Constructor and Description |
|---|
AbstractDHClientKeyExchange(Session session) |
DHGClient(DHFactory factory,
Session session) |
DHGEXClient(DHFactory factory,
Session session) |
| Modifier and Type | Interface and Description |
|---|---|
interface |
ClientSession
An authenticated session to a given SSH server.
|
| Modifier and Type | Class and Description |
|---|---|
class |
AbstractClientSession
Provides default implementations of
ClientSession related methods |
class |
ClientSessionImpl
The default implementation of a
ClientSession |
| Modifier and Type | Method and Description |
|---|---|
Service |
ClientConnectionServiceFactory.create(Session session) |
Service |
ClientUserAuthServiceFactory.create(Session session) |
| Constructor and Description |
|---|
ClientUserAuthService(Session s) |
| Modifier and Type | Method and Description |
|---|---|
static Service |
ServiceFactory.create(Collection<? extends ServiceFactory> factories,
String name,
Session session)
Create an instance of the specified name by looking up the needed factory in the list (case insensitive.
|
Service |
ServiceFactory.create(Session session) |
| Modifier and Type | Method and Description |
|---|---|
Session |
AbstractChannel.getSession() |
| Modifier and Type | Method and Description |
|---|---|
Channel |
ChannelFactory.createChannel(Session session) |
static Channel |
ChannelFactory.createChannel(Session session,
Collection<? extends ChannelFactory> factories,
String name) |
void |
AbstractChannel.handleChannelRegistrationResult(ConnectionService service,
Session session,
int channelId,
boolean registered) |
void |
Channel.handleChannelRegistrationResult(ConnectionService service,
Session session,
int id,
boolean registered)
Invoked after being successfully registered by the connection service - should throw a
RuntimeException
if not registered |
void |
AbstractChannel.init(ConnectionService service,
Session session,
int id) |
void |
Channel.init(ConnectionService service,
Session session,
int id)
Invoked when the local channel is initial created
|
| Modifier and Type | Method and Description |
|---|---|
Session |
DefaultForwarder.getSession() |
| Modifier and Type | Method and Description |
|---|---|
default void |
PortForwardingEventListener.establishedDynamicTunnel(Session session,
SshdSocketAddress local,
SshdSocketAddress boundAddress,
Throwable reason)
Signals a successful/failed attempt to establish a dynamic port forwarding
|
default void |
PortForwardingEventListener.establishedExplicitTunnel(Session session,
SshdSocketAddress local,
SshdSocketAddress remote,
boolean localForwarding,
SshdSocketAddress boundAddress,
Throwable reason)
Signals a successful/failed attempt to establish a local/remote port forwarding
|
default void |
PortForwardingEventListener.establishingDynamicTunnel(Session session,
SshdSocketAddress local)
Signals the attempt to establish a dynamic port forwarding
|
default void |
PortForwardingEventListener.establishingExplicitTunnel(Session session,
SshdSocketAddress local,
SshdSocketAddress remote,
boolean localForwarding)
Signals the attempt to establish a local/remote port forwarding
|
default void |
PortForwardingEventListener.tearingDownDynamicTunnel(Session session,
SshdSocketAddress address)
Signals a request to tear down a dynamic forwarding
|
default void |
PortForwardingEventListener.tearingDownExplicitTunnel(Session session,
SshdSocketAddress address,
boolean localForwarding,
SshdSocketAddress remoteAddress)
Signals a request to tear down a local/remote port forwarding
|
default void |
PortForwardingEventListener.tornDownDynamicTunnel(Session session,
SshdSocketAddress address,
Throwable reason)
Signals a successful/failed request to tear down a dynamic port forwarding
|
default void |
PortForwardingEventListener.tornDownExplicitTunnel(Session session,
SshdSocketAddress address,
boolean localForwarding,
SshdSocketAddress remoteAddress,
Throwable reason)
Signals a successful/failed request to tear down a local/remote port forwarding
|
| Modifier and Type | Method and Description |
|---|---|
protected abstract RequestHandler.Result |
AbstractOpenSshHostKeysHandler.handleHostKeys(Session session,
Collection<? extends PublicKey> keys,
boolean wantReply,
Buffer buffer) |
| Modifier and Type | Method and Description |
|---|---|
KeyExchange |
KeyExchangeFactory.createKeyExchange(Session session) |
| Modifier and Type | Method and Description |
|---|---|
Session |
AbstractDHKeyExchange.getSession() |
| Constructor and Description |
|---|
AbstractDHKeyExchange(Session session) |
| Modifier and Type | Method and Description |
|---|---|
default boolean |
KexExtensionHandler.handleKexCompressionMessage(Session session,
Buffer buffer)
Parses the
SSH_MSG_NEWCOMPRESS message. |
default void |
KexExtensionHandler.handleKexExtensionNegotiation(Session session,
KexProposalOption option,
String nValue,
Map<KexProposalOption,String> c2sOptions,
String cValue,
Map<KexProposalOption,String> s2cOptions,
String sValue)
Invoked during the KEX negotiation phase to inform about option being negotiated.
|
default boolean |
KexExtensionHandler.handleKexExtensionRequest(Session session,
int index,
int count,
String name,
byte[] data)
Invoked by
KexExtensionHandler.handleKexExtensionsMessage(Session, Buffer) in order to handle a specific extension. |
boolean |
DefaultClientKexExtensionHandler.handleKexExtensionRequest(Session session,
int index,
int count,
String name,
byte[] data) |
default boolean |
KexExtensionHandler.handleKexExtensionsMessage(Session session,
Buffer buffer)
Parses the
SSH_MSG_EXT_INFO message. |
default void |
KexExtensionHandler.handleKexInitProposal(Session session,
boolean initiator,
Map<KexProposalOption,String> proposal)
Invoked when a peer is ready to send the KEX options proposal or has received such a proposal.
|
void |
DefaultClientKexExtensionHandler.handleKexInitProposal(Session session,
boolean initiator,
Map<KexProposalOption,String> proposal) |
protected void |
DefaultClientKexExtensionHandler.handleServerSignatureAlgorithms(Session session,
Collection<String> serverAlgorithms)
Perform updates after a server-sig-algs extension has been received.
|
default boolean |
KexExtensionHandler.isKexExtensionsAvailable(Session session,
KexExtensionHandler.AvailabilityPhase phase) |
boolean |
DefaultClientKexExtensionHandler.isKexExtensionsAvailable(Session session,
KexExtensionHandler.AvailabilityPhase phase) |
default void |
KexExtensionHandler.sendKexExtensions(Session session,
KexExtensionHandler.KexPhase phase)
Invoked in order to allow the handler to send an
SSH_MSG_EXT_INFO message. |
| Modifier and Type | Interface and Description |
|---|---|
interface |
SessionHolder<S extends Session> |
| Modifier and Type | Method and Description |
|---|---|
Session |
SessionWorkBuffer.getSession() |
| Modifier and Type | Method and Description |
|---|---|
default boolean |
SessionDisconnectHandler.handleAuthCountDisconnectReason(Session session,
Service service,
String serviceName,
String method,
String user,
int currentAuthCount,
int maxAuthCount)
Invoked if the number of authentication attempts exceeded the maximum allowed
|
default boolean |
SessionDisconnectHandler.handleAuthParamsDisconnectReason(Session session,
Service service,
String authUser,
String username,
String authService,
String serviceName)
Invoked if the authentication parameters changed in mid-authentication process.
|
default void |
ReservedSessionMessagesHandler.handleDebugMessage(Session session,
Buffer buffer)
Invoked when an
SSH_MSG_DEBUG packet is received |
default void |
ReservedSessionMessagesHandler.handleIgnoreMessage(Session session,
Buffer buffer)
Invoked when an
SSH_MSG_IGNORE packet is received |
default boolean |
SessionDisconnectHandler.handleKexDisconnectReason(Session session,
Map<KexProposalOption,String> c2sOptions,
Map<KexProposalOption,String> s2cOptions,
Map<KexProposalOption,String> negotiatedGuess,
KexProposalOption option)
Invoked if after KEX negotiation parameters resolved one of the options violates some internal constraint (e.g.,
cannot negotiate a value, or RFC 8308 - section
2.2).
|
default boolean |
SessionDisconnectHandler.handleSessionsCountDisconnectReason(Session session,
Service service,
String username,
int currentSessionCount,
int maxSessionCount)
Called to inform that the maximum allowed concurrent sessions threshold has been exceeded.
|
default boolean |
SessionDisconnectHandler.handleTimeoutDisconnectReason(Session session,
TimeoutIndicator timeoutStatus)
Invoked when an internal timeout has expired (e.g., authentication, idle).
|
default boolean |
ReservedSessionMessagesHandler.handleUnimplementedMessage(Session session,
int cmd,
Buffer buffer)
Invoked when a packet with an un-implemented message is received - including
SSH_MSG_UNIMPLEMENTED itself |
default boolean |
SessionDisconnectHandler.handleUnsupportedServiceDisconnectReason(Session session,
int cmd,
String serviceName,
Buffer buffer)
Invoked when a request has been made related to an unknown SSH service as described in
RFC 4253 - section 10.
|
static <T> T |
Session.resolveAttribute(Session session,
AttributeRepository.AttributeKey<T> key)
Attempts to use the session's attribute, if not found then tries the factory manager
|
default IoWriteFuture |
ReservedSessionMessagesHandler.sendIdentification(Session session,
String version,
List<String> extraLines)
Send the initial version exchange identification in and independent manner
|
default IoWriteFuture |
ReservedSessionMessagesHandler.sendKexInitRequest(Session session,
Map<KexProposalOption,String> proposal,
Buffer packet)
Invoked before sending the
SSH_MSG_KEXINIT packet |
default void |
SessionListener.sessionClosed(Session session)
A session has been closed
|
default void |
SessionListener.sessionCreated(Session session)
A new session just been created
|
default void |
SessionListener.sessionDisconnect(Session session,
int reason,
String msg,
String language,
boolean initiator)
Invoked when
SSH_MSG_DISCONNECT message was sent/received |
default void |
SessionListener.sessionEstablished(Session session)
An initial session connection has been established - Caveat emptor: the main difference between this
callback and
SessionListener.sessionCreated(Session) is that when this callback is called, the session is not yet fully
initialized so not all API(s) will respond as expected. |
default void |
SessionListener.sessionEvent(Session session,
SessionListener.Event event)
An event has been triggered
|
default void |
SessionListener.sessionException(Session session,
Throwable t)
An exception was caught and the session will be closed (if not already so).
|
default void |
SessionListener.sessionNegotiationEnd(Session session,
Map<KexProposalOption,String> clientProposal,
Map<KexProposalOption,String> serverProposal,
Map<KexProposalOption,String> negotiatedOptions,
Throwable reason)
Signals the end of the negotiation options handling
|
default void |
SessionListener.sessionNegotiationOptionsCreated(Session session,
Map<KexProposalOption,String> proposal) |
default void |
SessionListener.sessionNegotiationStart(Session session,
Map<KexProposalOption,String> clientProposal,
Map<KexProposalOption,String> serverProposal)
Signals the start of the negotiation options handling
|
default void |
SessionListener.sessionPeerIdentificationLine(Session session,
String line,
List<String> extraLines)
Successfully read a line as part of the initial peer identification
|
default void |
SessionListener.sessionPeerIdentificationReceived(Session session,
String version,
List<String> extraLines)
The peer's identification version was received
|
default void |
SessionListener.sessionPeerIdentificationSend(Session session,
String version,
List<String> extraLines)
About to send identification to peer
|
| Constructor and Description |
|---|
SessionWorkBuffer(Session session) |
| Modifier and Type | Class and Description |
|---|---|
class |
AbstractSession
The AbstractSession handles all the basic SSH protocol such as key exchange, authentication, encoding and decoding.
|
class |
SessionHelper
Contains split code in order to make
AbstractSession class smaller |
| Modifier and Type | Method and Description |
|---|---|
protected AgentForwardSupport |
AbstractConnectionService.createAgentForwardSupport(Session session) |
protected Forwarder |
AbstractConnectionService.createForwardingFilter(Session session) |
protected X11ForwardSupport |
AbstractConnectionService.createX11ForwardSupport(Session session) |
void |
ReservedSessionMessagesHandlerAdapter.handleDebugMessage(Session session,
boolean display,
String msg,
String lang,
Buffer buffer) |
void |
ReservedSessionMessagesHandlerAdapter.handleDebugMessage(Session session,
Buffer buffer) |
void |
ReservedSessionMessagesHandlerAdapter.handleIgnoreMessage(Session session,
Buffer buffer) |
void |
ReservedSessionMessagesHandlerAdapter.handleIgnoreMessage(Session session,
byte[] data,
Buffer buffer) |
boolean |
ReservedSessionMessagesHandlerAdapter.handleUnimplementedMessage(Session session,
int cmd,
Buffer buffer) |
IoWriteFuture |
ReservedSessionMessagesHandlerAdapter.sendIdentification(Session session,
String version,
List<String> extraLines) |
void |
SessionTimeoutListener.sessionClosed(Session s) |
void |
SessionTimeoutListener.sessionCreated(Session session) |
void |
SessionTimeoutListener.sessionException(Session session,
Throwable t) |
| Modifier and Type | Method and Description |
|---|---|
Channel |
ChannelSessionFactory.createChannel(Session session) |
static boolean |
PuttyRequestHandler.isPuttyClient(Session session) |
| Modifier and Type | Method and Description |
|---|---|
boolean |
StaticDecisionForwardingFilter.canConnect(TcpForwardingFilter.Type type,
SshdSocketAddress address,
Session session) |
boolean |
TcpForwardingFilter.canConnect(TcpForwardingFilter.Type type,
SshdSocketAddress address,
Session session)
Determine if the session may create an outbound connection.
|
boolean |
StaticDecisionForwardingFilter.canForwardAgent(Session session,
String requestType) |
boolean |
AgentForwardingFilter.canForwardAgent(Session session,
String requestType)
Determine if the session may arrange for agent forwarding.
|
boolean |
X11ForwardingFilter.canForwardX11(Session session,
String requestType)
Determine if the session may arrange for X11 forwarding.
|
boolean |
StaticDecisionForwardingFilter.canForwardX11(Session session,
String requestType) |
boolean |
StaticDecisionForwardingFilter.canListen(SshdSocketAddress address,
Session session) |
boolean |
TcpForwardingFilter.canListen(SshdSocketAddress address,
Session session)
Determine if the session may listen for inbound connections.
|
protected boolean |
StaticDecisionForwardingFilter.checkAcceptance(String request,
Session session,
SshdSocketAddress target) |
Channel |
TcpipServerChannel.TcpipFactory.createChannel(Session session) |
| Modifier and Type | Method and Description |
|---|---|
protected RequestHandler.Result |
OpenSshHostKeysHandler.handleHostKeys(Session session,
Collection<? extends PublicKey> keys,
boolean wantReply,
Buffer buffer) |
| Constructor and Description |
|---|
AbstractDHServerKeyExchange(Session s) |
DHGEXServer(DHFactory factory,
Session session) |
DHGServer(DHFactory factory,
Session session) |
| Modifier and Type | Interface and Description |
|---|---|
interface |
ServerSession |
| Modifier and Type | Class and Description |
|---|---|
class |
AbstractServerSession
Provides default implementations for
ServerSession related methods |
class |
ServerSessionImpl
The default implementation for a
ServerSession |
| Modifier and Type | Method and Description |
|---|---|
Service |
ServerUserAuthServiceFactory.create(Session session) |
Service |
ServerConnectionServiceFactory.create(Session session) |
| Constructor and Description |
|---|
ServerUserAuthService(Session s) |
Copyright © 2008–2021 The Apache Software Foundation. All rights reserved.