t.c.e._UserAuth(SSHUserAuthClient) : class documentation

Part of twisted.conch.endpoints View Source View In Hierarchy

_UserAuth implements the client part of SSH user authentication in the convenient way a user might expect if they are familiar with the interactive ssh command line client.

_UserAuth supports key-based authentication, password-based authentication, and delegating authentication to an agent.

Method getPublicKey Retrieve the next public key object to offer to the server, possibly delegating to an authentication agent if there is one.
Method signData Extend the base signing behavior by using an SSH agent to sign the data, if one is available.
Method getPrivateKey Get the private part of a key pair to use for authentication. The key corresponds to the public part most recently returned from getPublicKey.
Method getPassword Get the password to use for authentication.
Method ssh_USERAUTH_SUCCESS Handle user authentication success in the normal way, but also make a note of the state change on the _CommandTransport.

Inherited from SSHUserAuthClient:

Instance Variable name the name of this service: 'ssh-userauth' (type: str)
Instance Variable preferredOrder a list of authentication methods we support, in order of preference. The client will try authentication methods in this order, making callbacks for information when necessary. (type: list)
Instance Variable user the name of the user to authenticate as (type: str)
Instance Variable instance the service to start after authentication has finished (type: service.SSHService)
Instance Variable authenticatedWith a list of strings of authentication methods we've tried (type: list of str)
Instance Variable triedPublicKeys a list of public key objects that we've tried to authenticate with (type: list of Key)
Instance Variable lastPublicKey the last public key object we've tried to authenticate with (type: Key)
Method __init__ Undocumented
Method serviceStarted called when the service is active on the transport.
Method askForAuth Send a MSG_USERAUTH_REQUEST.
Method tryAuth Dispatch to an authentication method.
Method ssh_USERAUTH_FAILURE We received a MSG_USERAUTH_FAILURE. Payload:: string methods byte partial success
Method ssh_USERAUTH_PK_OK This message (number 60) can mean several different messages depending on the current authentication type. We dispatch to individual methods in order to handle this request.
Method ssh_USERAUTH_PK_OK_publickey This is MSG_USERAUTH_PK. Our public key is valid, so we create a signature and try to authenticate with it.
Method ssh_USERAUTH_PK_OK_password This is MSG_USERAUTH_PASSWD_CHANGEREQ. The password given has expired. We ask for an old password and a new password, then send both back to the server.
Method ssh_USERAUTH_PK_OK_keyboard_interactive This is MSG_USERAUTH_INFO_RESPONSE. The server has sent us the questions it wants us to answer, so we ask the user and sent the responses.
Method auth_publickey Try to authenticate with a public key. Ask the user for a public key; if the user has one, send the request to the server and return True. Otherwise, return False.
Method auth_password Try to authenticate with a password. Ask the user for a password. If the user will return a password, return True. Otherwise, return False.
Method auth_keyboard_interactive Try to authenticate with keyboard-interactive authentication. Send the request to the server and return True.
Method getGenericAnswers Returns a Deferred with the responses to the promopts.
Method _ebAuth Generic callback for a failed authentication attempt. Respond by asking for the list of accepted methods (the 'none' method)
Method _cbUserauthFailure Undocumented
Method _cbSignedData Called back out of self.signData with the signed data. Send the authentication request with the signature.
Method _setOldPass Called back when we are choosing a new password. Simply store the old password for now.
Method _setNewPass Called back when we are choosing a new password. Get the old password and send the authentication message with both.
Method _cbGenericAnswers Called back when we are finished answering keyboard-interactive questions. Send the info back to the server in a MSG_USERAUTH_INFO_RESPONSE.
Method _cbGetPublicKey Undocumented
Method _cbPassword Called back when the user gives a password. Send the request to the server.
Method _cbSignData Called back when the private key is returned. Sign the data and return the signature.

Inherited from SSHService (via SSHUserAuthClient):

Method serviceStopped called when the service is stopped, either by the connection ending or by another service being started
Method logPrefix Override this method to insert custom logging behavior. Its return value will be inserted in front of every line. It may be called more times than the number of output lines.
Method packetReceived called when we receive a packet on the transport
def getPublicKey(self): (source)
Retrieve the next public key object to offer to the server, possibly delegating to an authentication agent if there is one.
ReturnsThe public part of a key pair that could be used to authenticate with the server, or None if there are no more public keys to try. (type: twisted.conch.ssh.keys.Key or types.NoneType)
def signData(self, publicKey, signData): (source)
Extend the base signing behavior by using an SSH agent to sign the data, if one is available.
def getPrivateKey(self): (source)
Get the private part of a key pair to use for authentication. The key corresponds to the public part most recently returned from getPublicKey.
ReturnsA Deferred which fires with the private key. (type: Deferred)
def getPassword(self): (source)
Get the password to use for authentication.
ReturnsA Deferred which fires with the password, or None if the password was not specified.
def ssh_USERAUTH_SUCCESS(self, packet): (source)
Handle user authentication success in the normal way, but also make a note of the state change on the _CommandTransport.
API Documentation for Twisted, generated by pydoctor at 2013-11-08 22:07:30.