dmg.cells.services.login.LoginManager
The LoginManager takes 2 mandetory arguments and two options. The residual arguments and the options are passed to the LoginCell and the Authentication modules.
The arguments are :The options are :
portNumber The tcp listen port loginCellClass The cell class which has to be started, if the authetication protocol was sucessful. Because of the fact, that different protocols may need different information, there is no standard interface which is valid for all supported protocol types.
-prot= the protocol the client is assumed to talk. Currently telnet, ssh and raw are supported. -auth= the class which is used to authenticate the client.
Protocol Authenticaton module must implement Default Authentication module raw - - telnet TelnetServerAuthentication dmg.cells.services.login.TelnetSAuth_A ssh SshServerAuthentication dmg.cells.services.login.SshSAuth_A
dmg.cells.services.login.TelnetSAuth_A
The TelnetSAuth_A authentication module is responsible for authenticating clients talking the telnet protocol. The module supports several authentication modes.If more than one of the above options are specified, the result is unpredictable.
- -localOk Neither a username nor a password is requested by the module. DEBUG only.
- default In default mode the module asks for the username and a password. The user can be arbitrary but the password has to be 'elch'. DEBUG only.
- -password=<password> The user can be arbitrary but the password has to be '<password>'. DEBUG only.
- -acm=<AccessControlModule> The module sends standard 'acm' requests to the specified 'acm' cell to check the 'user' 'password' pair and if the authenticated user has 'exec:shell:*' permission.
- -pswdfile=<Unix like passwd file> The module checks user and password against the file specified. The file must be identical to /etc/passwd or /etc/shadow. Permissions are not checked.
dmg.cells.services.login.SshSAuth_A
The SshSAuth_A authentication module is responsible for authenticating clients talking the ssh (version I) protocol. The module requires a set of context variables to be available to work properly.
Context Class Purpose Ssh:hostIdentity (*) SshRsaKey(private) The hosts public key ( 1024 bit rsa private key ) Ssh:serverIdentity (*) SshRsaKey(private) The servers public key ( 768 bit rsa private key ) Ssh:userPasswords (*) Hashtable Contains user password pairs (plain text) Ssh:userPasswords (*) String Contains the name of an 'acm' Ssh:knownUsers SshRsaKey(public) known users keys ( rsa public keys) Ssh:knownHost SshRsaKey(public) known hosts keys ( rsa public keys) The marked (*) variables are mandetory. Only one of Ssh:userPasswords is required.
Generally an SshKeyManager Cell is responsible for setting these context variables. See dmg.cells.services.SshKeyManager.
String cellName , dmg.util.StreamEngine engine |
String cellName, dmg.util.StreamEngine engine, dmg.util.Args args |
If the newly started cell provides the setPrintoutLevel method, it is called with the current printoutvalue of the LoginManager.
dmg.cells.services.StreamLoginCell