class documentation

class SSHAgentClient(protocol.Protocol): (source)

Known subclasses: twisted.conch.client.agent.SSHAgentClient

View In Hierarchy

The client side of the SSH agent protocol. This is equivalent to ssh-add(1) and can be used with either ssh-agent(1) or the SSHAgentServer protocol, also in this package.
Method __init__ Undocumented
Method add​Identity Add a private key blob to the agent's collection of keys.
Method data​Received Called whenever data is received.
Method remove​All​Identities Remove all keys from the running agent.
Method remove​Identity Remove the private key corresponding to the public key in blob from the running agent.
Method request​Identities
Method send​Request Undocumented
Method sign​Data Request that the agent sign the given data with the private key which corresponds to the public key given by blob. The private key should have been added to the agent already.
Instance Variable buf Undocumented
Instance Variable deferreds Undocumented
Method _cb​Request​Identities Unpack a collection of identities into a list of tuples comprised of public key blobs and comments.
Method _cb​Sign​Data Undocumented

Inherited from Protocol:

Method connection​Lost Called when the connection is shut down.
Method log​Prefix Return a prefix matching the class name, to identify log messages related to this protocol instance.
Class Variable factory Undocumented

Inherited from BaseProtocol (via Protocol):

Method connection​Made Called when a connection is made.
Method make​Connection Make a connection to a transport and a server.
Instance Variable connected Undocumented
Instance Variable transport Undocumented
def __init__(self): (source)

Undocumented

def addIdentity(self, blob, comment=b''): (source)
Add a private key blob to the agent's collection of keys.
def dataReceived(self, data): (source)

Called whenever data is received.

Use this method to translate to a higher-level message. Usually, some callback will be made upon the receipt of each complete protocol message.

Parameters
dataa string of indeterminate length. Please keep in mind that you will probably need to buffer some data, as partial (or multiple) protocol messages may be received! I recommend that unit tests for protocols call through to this method with differing chunk sizes, down to one byte at a time.
def removeAllIdentities(self): (source)
Remove all keys from the running agent.
def removeIdentity(self, blob): (source)
Remove the private key corresponding to the public key in blob from the running agent.
def requestIdentities(self): (source)
Returns
A Deferred which will fire with a list of all keys found in the SSH agent. The list of keys is comprised of (public key blob, comment) tuples.
def sendRequest(self, reqType, data): (source)

Undocumented

def signData(self, blob, data): (source)
Request that the agent sign the given data with the private key which corresponds to the public key given by blob. The private key should have been added to the agent already.
Parameters
blob:bytesUndocumented
data:bytesUndocumented
Returns
A Deferred which fires with a signature for given data created with the given key.

Undocumented

deferreds: list = (source)

Undocumented

def _cbRequestIdentities(self, data): (source)
Unpack a collection of identities into a list of tuples comprised of public key blobs and comments.
def _cbSignData(self, data): (source)

Undocumented