pub trait SSHAgent {
// Required methods
fn list_identities(&mut self) -> Result<Vec<PublicKey>>;
fn add_identity(&mut self, key: &PrivateKey) -> Result<()>;
fn remove_identity(&mut self, key: &PrivateKey) -> Result<()>;
fn remove_all_identities(&mut self) -> Result<()>;
fn sign(&mut self, key: &PublicKey, data: &[u8]) -> Result<Signature>;
}