class documentation

class _UserAuth(SSHUserAuthClient): (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 connect​To​Agent Set up a connection to the authentication agent and trigger its initialization.
Method get​Password Get the password to use for authentication.
Method get​Private​Key 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 get​Public​Key Retrieve the next public key object to offer to the server, possibly delegating to an authentication agent if there is one.
Method lose​Agent​Connection Disconnect the agent.
Method sign​Data Extend the base signing behavior by using an SSH agent to sign the data, if one is available.
Method ssh_​USERAUTH_​SUCCESS Handle user authentication success in the normal way, but also make a note of the state change on the _CommandTransport.
Class Variable agent Undocumented
Class Variable keys Undocumented
Class Variable password Undocumented
Instance Variable key Undocumented

Inherited from SSHUserAuthClient:

Method __init__ Undocumented
Method ask​For​Auth Send a MSG_USERAUTH_REQUEST.
Method auth​_keyboard​_interactive Try to authenticate with keyboard-interactive authentication. Send the request to the server and return True.
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​_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 get​Generic​Answers Returns a Deferred with the responses to the promopts.
Method service​Started called when the service is active on the transport.
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_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 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_publickey This is MSG_USERAUTH_PK. Our public key is valid, so we create a signature and try to authenticate with it.
Method try​Auth Dispatch to an authentication method.
Instance Variable authenticated​With a list of strings of authentication methods we've tried
Instance Variable instance the service to start after authentication has finished
Instance Variable last​Auth Undocumented
Instance Variable last​Public​Key the last public key object we've tried to authenticate with
Instance Variable name the name of this service: 'ssh-userauth'
Instance Variable preferred​Order a list of authentication methods that should be used first, in order of preference, if supported by the server
Instance Variable tried​Public​Keys a list of public key objects that we've tried to authenticate with
Instance Variable user the name of the user to authenticate as
Method _cb​Generic​Answers Called back when we are finished answering keyboard-interactive questions. Send the info back to the server in a MSG_USERAUTH_INFO_RESPONSE.
Method _cb​Get​Public​Key Undocumented
Method _cb​Password Called back when the user gives a password. Send the request to the server.
Method _cb​Sign​Data Called back when the private key is returned. Sign the data and return the signature.
Method _cb​Signed​Data Called back out of self.signData with the signed data. Send the authentication request with the signature.
Method _cb​Userauth​Failure Undocumented
Method _eb​Auth Generic callback for a failed authentication attempt. Respond by asking for the list of accepted methods (the 'none' method)
Method _set​New​Pass Called back when we are choosing a new password. Get the old password and send the authentication message with both.
Method _set​Old​Pass Called back when we are choosing a new password. Simply store the old password for now.
Instance Variable _new​Pass Undocumented
Instance Variable _old​Pass Undocumented

Inherited from SSHService (via SSHUserAuthClient):

Method log​Prefix Undocumented
Method packet​Received called when we receive a packet on the transport
Method service​Stopped called when the service is stopped, either by the connection ending or by another service being started
Class Variable protocol​Messages Undocumented
Class Variable transport Undocumented
Class Variable _log Undocumented
def connectToAgent(self, endpoint): (source)
Set up a connection to the authentication agent and trigger its initialization.
Parameters
endpoint:IStreamClientEndpoint providerAn endpoint which can be used to connect to the authentication agent.
Returns
A Deferred which fires when the agent connection is ready for use.
def getPassword(self): (source)
Get the password to use for authentication.
Returns
A Deferred which fires with the password, or None if the password was not specified.
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.
Returns
DeferredA Deferred which fires with the private key.
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.
Returns
twisted.conch.ssh.keys.Key or NoneThe 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.
def loseAgentConnection(self): (source)
Disconnect the agent.
def signData(self, publicKey, signData): (source)
Extend the base signing behavior by using an SSH agent to sign the data, if one is available.
Parameters
public​Key:KeyUndocumented
sign​Data:strUndocumented
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.
agent = (source)

Undocumented

keys = (source)

Undocumented

password = (source)

Undocumented

Undocumented