pub struct SshKeyDiscovery { /* private fields */ }
Expand description
SSH key discovery engine
Implementations§
Source§impl SshKeyDiscovery
impl SshKeyDiscovery
Sourcepub fn with_ssh_dir<P: AsRef<Path>>(ssh_dir: P) -> Self
pub fn with_ssh_dir<P: AsRef<Path>>(ssh_dir: P) -> Self
Create a new SSH key discovery engine with custom SSH directory
Sourcepub fn discover_keys(&self) -> Result<Vec<HybridPublicKey>, SshKeyError>
pub fn discover_keys(&self) -> Result<Vec<HybridPublicKey>, SshKeyError>
Discover all suitable public keys in the SSH directory
Sourcepub fn load_public_key_from_path<P: AsRef<Path>>(
&self,
path: P,
) -> Result<HybridPublicKey, SshKeyError>
pub fn load_public_key_from_path<P: AsRef<Path>>( &self, path: P, ) -> Result<HybridPublicKey, SshKeyError>
Load a specific public key from file path
Sourcepub fn get_default_key(&self) -> Result<HybridPublicKey, SshKeyError>
pub fn get_default_key(&self) -> Result<HybridPublicKey, SshKeyError>
Get the default/preferred public key (first RSA key, or first available)
Sourcepub fn find_keys_by_algorithm(
&self,
algorithm: KeyAlgorithm,
) -> Result<Vec<HybridPublicKey>, SshKeyError>
pub fn find_keys_by_algorithm( &self, algorithm: KeyAlgorithm, ) -> Result<Vec<HybridPublicKey>, SshKeyError>
Find keys by algorithm
Sourcepub fn discover_private_keys(
&self,
) -> Result<Vec<HybridPrivateKey>, SshKeyError>
pub fn discover_private_keys( &self, ) -> Result<Vec<HybridPrivateKey>, SshKeyError>
Discover all suitable private keys in the SSH directory
Sourcepub fn load_private_key_from_path<P: AsRef<Path>>(
&self,
path: P,
) -> Result<HybridPrivateKey, SshKeyError>
pub fn load_private_key_from_path<P: AsRef<Path>>( &self, path: P, ) -> Result<HybridPrivateKey, SshKeyError>
Load a specific private key from file path
Sourcepub fn get_default_private_key(&self) -> Result<HybridPrivateKey, SshKeyError>
pub fn get_default_private_key(&self) -> Result<HybridPrivateKey, SshKeyError>
Get the default/preferred private key (first RSA key, or first available)
Sourcepub fn find_private_keys_by_algorithm(
&self,
algorithm: KeyAlgorithm,
) -> Result<Vec<HybridPrivateKey>, SshKeyError>
pub fn find_private_keys_by_algorithm( &self, algorithm: KeyAlgorithm, ) -> Result<Vec<HybridPrivateKey>, SshKeyError>
Find private keys by algorithm
Sourcepub fn check_ssh_directory(&self) -> Result<(), SshKeyError>
pub fn check_ssh_directory(&self) -> Result<(), SshKeyError>
Check if SSH directory exists and is accessible
Sourcepub fn select_public_key_interactive(
&self,
) -> Result<HybridPublicKey, SshKeyError>
pub fn select_public_key_interactive( &self, ) -> Result<HybridPublicKey, SshKeyError>
Prompt user to select a public key from multiple available keys
Sourcepub fn select_private_key_interactive(
&self,
) -> Result<HybridPrivateKey, SshKeyError>
pub fn select_private_key_interactive( &self, ) -> Result<HybridPrivateKey, SshKeyError>
Prompt user to select a private key from multiple available keys
Sourcepub fn generate_key_pair(
&self,
algorithm: KeyAlgorithm,
key_size: Option<usize>,
comment: Option<String>,
output_path: Option<PathBuf>,
) -> Result<(PathBuf, PathBuf), SshKeyError>
pub fn generate_key_pair( &self, algorithm: KeyAlgorithm, key_size: Option<usize>, comment: Option<String>, output_path: Option<PathBuf>, ) -> Result<(PathBuf, PathBuf), SshKeyError>
Generate a new SSH key pair
Trait Implementations§
Auto Trait Implementations§
impl Freeze for SshKeyDiscovery
impl RefUnwindSafe for SshKeyDiscovery
impl Send for SshKeyDiscovery
impl Sync for SshKeyDiscovery
impl Unpin for SshKeyDiscovery
impl UnwindSafe for SshKeyDiscovery
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self
into a Left
variant of Either<Self, Self>
if into_left
is true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self
into a Left
variant of Either<Self, Self>
if into_left(&self)
returns true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read more