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 addIdentity Add a private key blob to the agent's collection of keys.
Method dataReceived Called whenever data is received.
Method removeAllIdentities Remove all keys from the running agent.
Method removeIdentity Remove the private key corresponding to the public key in blob from the running agent.
Method requestIdentities
Method sendRequest Undocumented
Method signData 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 _cbRequestIdentities Unpack a collection of identities into a list of tuples comprised of public key blobs and comments.
Method _cbSignData Undocumented

Inherited from Protocol:

Method connectionLost Called when the connection is shut down.
Method logPrefix 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 connectionMade Called when a connection is made.
Method makeConnection 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