public class NoneAuthentication
extends java.lang.Object
implements com.sshtools.common.auth.AuthenticationMechanism
This authentication mechanism can be used to send custom banner messages to the client. When an SSH client connects it sends a 'none' authentication request with the username of the connecting user, normally the Maverick SSHD will send the default banner message configured in the ConfigurationContext.
However you can extend this class and override the getBannerForUser method to return a banner message for a specific user. To configure the SSHD to use your class instead of the default behaviour add it to the supported authentication mechanisms in your SshDaemon.configure method. Also make sure that no banner is configured in the SshContext.
context.supportedAuthenticationMechanisms().add("none", MyNoneAuthentication.class);
Constructor and Description |
---|
NoneAuthentication() |
NoneAuthentication(com.sshtools.synergy.ssh.TransportProtocol<SshServerContext> transport,
AuthenticationProtocolServer auth) |
Modifier and Type | Method and Description |
---|---|
java.lang.String |
getBannerForUser(java.lang.String username)
Override this method to send user customized banners, if this method is overridden then com.maverick.sshd.SshContext.setBannerMessage(null) should be set to null.
|
java.lang.String |
getMethod()
Return the SSH method name for this authentication.
|
void |
init(com.sshtools.synergy.ssh.TransportProtocol<SshServerContext> transport,
AuthenticationProtocolServer authentication)
Initializes the mechanism with variables.
|
boolean |
processMessage(byte[] msg)
If the SSH protocol authentication method defines additional messages
which are sent from the client, they will be passed into your
implementation here when received.
|
boolean |
startRequest(java.lang.String username,
byte[] msg)
Start an authentication transaction.
|
public NoneAuthentication()
public NoneAuthentication(com.sshtools.synergy.ssh.TransportProtocol<SshServerContext> transport, AuthenticationProtocolServer auth)
public final java.lang.String getMethod()
getMethod
in interface com.sshtools.common.auth.AuthenticationMechanism
public final void init(com.sshtools.synergy.ssh.TransportProtocol<SshServerContext> transport, AuthenticationProtocolServer authentication) throws java.io.IOException
transport
- the transport protocolauthentication
- the authentication protocolsessionid
- the id of the current session.java.io.IOException
public final boolean processMessage(byte[] msg) throws java.io.IOException
processMessage
in interface com.sshtools.common.auth.AuthenticationMechanism
msg
- byte[]java.io.IOException
public java.lang.String getBannerForUser(java.lang.String username)
username
- public final boolean startRequest(java.lang.String username, byte[] msg) throws java.io.IOException
startRequest
in interface com.sshtools.common.auth.AuthenticationMechanism
username
- Stringmsg
- the request data from the SSH_MSG_USERAUTH_REQUEST messagejava.io.IOException
Copyright © 2022. All rights reserved.