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