com.maverick.sshd
Class NoneAuthentication

java.lang.Object
  extended by com.maverick.sshd.NoneAuthentication
All Implemented Interfaces:
AuthenticationMechanism

public class NoneAuthentication
extends java.lang.Object
implements 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);

Author:
Lee David Painter

Constructor Summary
NoneAuthentication()
           
 
Method Summary
 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(TransportProtocol transport, AuthenticationProtocol authentication, byte[] sessionid)
          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.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

NoneAuthentication

public NoneAuthentication()
Method Detail

getMethod

public final java.lang.String getMethod()
Return the SSH method name for this authentication.

Specified by:
getMethod in interface AuthenticationMechanism
Returns:
String

init

public final void init(TransportProtocol transport,
                       AuthenticationProtocol authentication,
                       byte[] sessionid)
                throws java.io.IOException
Initializes the mechanism with variables.

Specified by:
init in interface AuthenticationMechanism
Parameters:
transport - the transport protocol
authentication - the authentication protocol
sessionid - the id of the current session.
Throws:
java.io.IOException

processMessage

public final boolean processMessage(byte[] msg)
                             throws java.io.IOException
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.

Specified by:
processMessage in interface AuthenticationMechanism
Parameters:
msg - byte[]
Returns:
boolean
Throws:
java.io.IOException

getBannerForUser

public 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.

Parameters:
username -
Returns:

startRequest

public final boolean startRequest(java.lang.String username,
                                  byte[] msg)
                           throws java.io.IOException
Start an authentication transaction.

Specified by:
startRequest in interface AuthenticationMechanism
Parameters:
username - String
msg - the request data from the SSH_MSG_USERAUTH_REQUEST message
Returns:
true if the message was processed, otherwise false
Throws:
java.io.IOException


Copyright © 2003-2008 SSHTools LTD. All Rights Reserved.