Go to the latest version of this document.

# ``twisted`.`conch`.`ssh`.`agent`.`SSHAgentClient``

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` | No summary
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)
overridden in `twisted.conch.client.agent.SSHAgentClient`

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)
from `twisted.internet.interfaces.IProtocol`
overrides `twisted.internet.protocol.Protocol.dataReceived`

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
data | a 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:`bytes` | Undocumented
data:`bytes` | Undocumented

Returns
A `Deferred` which fires with a signature for given data created with the given key.

buf: `bytes` = (source)

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