pub struct SshClient { /* private fields */ }Expand description
Core SSH client structure
Implementations§
Source§impl SshClient
impl SshClient
Sourcepub async fn connect_and_execute(
&mut self,
command: &str,
key_path: Option<&Path>,
use_agent: bool,
) -> Result<CommandResult>
pub async fn connect_and_execute( &mut self, command: &str, key_path: Option<&Path>, use_agent: bool, ) -> Result<CommandResult>
Execute a command on the remote host with basic configuration
Sourcepub async fn connect_and_execute_with_host_check(
&mut self,
command: &str,
key_path: Option<&Path>,
strict_mode: Option<StrictHostKeyChecking>,
use_agent: bool,
use_password: bool,
timeout_seconds: Option<u64>,
) -> Result<CommandResult>
pub async fn connect_and_execute_with_host_check( &mut self, command: &str, key_path: Option<&Path>, strict_mode: Option<StrictHostKeyChecking>, use_agent: bool, use_password: bool, timeout_seconds: Option<u64>, ) -> Result<CommandResult>
Execute a command with host key checking configuration
Sourcepub async fn connect_and_execute_with_jump_hosts(
&mut self,
command: &str,
config: &ConnectionConfig<'_>,
) -> Result<CommandResult>
pub async fn connect_and_execute_with_jump_hosts( &mut self, command: &str, config: &ConnectionConfig<'_>, ) -> Result<CommandResult>
Execute a command with full configuration including jump hosts
Sourcepub async fn connect_and_execute_with_output_streaming(
&mut self,
command: &str,
config: &ConnectionConfig<'_>,
output_sender: Sender<CommandOutput>,
) -> Result<u32>
pub async fn connect_and_execute_with_output_streaming( &mut self, command: &str, config: &ConnectionConfig<'_>, output_sender: Sender<CommandOutput>, ) -> Result<u32>
Execute a command with streaming output support
This method provides real-time command output streaming through the provided sender channel.
Output is sent as CommandOutput::StdOut or CommandOutput::StdErr variants.
§Arguments
command- The command to executeconfig- Connection configurationoutput_sender- Channel sender for streaming output
§Returns
The exit status of the command
Sourcepub async fn connect_and_execute_with_sudo(
&mut self,
command: &str,
config: &ConnectionConfig<'_>,
output_sender: Sender<CommandOutput>,
sudo_password: &SudoPassword,
) -> Result<u32>
pub async fn connect_and_execute_with_sudo( &mut self, command: &str, config: &ConnectionConfig<'_>, output_sender: Sender<CommandOutput>, sudo_password: &SudoPassword, ) -> Result<u32>
Execute a command with sudo password support and streaming output.
This method handles automatic sudo password injection when sudo prompts are detected in the command output.
§Arguments
command- The command to execute (typically uses sudo)config- Connection configurationoutput_sender- Channel sender for streaming outputsudo_password- The sudo password to inject when prompted
§Returns
The exit status of the command
Source§impl SshClient
impl SshClient
Sourcepub async fn upload_file(
&mut self,
local_path: &Path,
remote_path: &str,
key_path: Option<&Path>,
strict_mode: Option<StrictHostKeyChecking>,
use_agent: bool,
use_password: bool,
) -> Result<()>
pub async fn upload_file( &mut self, local_path: &Path, remote_path: &str, key_path: Option<&Path>, strict_mode: Option<StrictHostKeyChecking>, use_agent: bool, use_password: bool, ) -> Result<()>
Upload a single file to the remote host
Sourcepub async fn download_file(
&mut self,
remote_path: &str,
local_path: &Path,
key_path: Option<&Path>,
strict_mode: Option<StrictHostKeyChecking>,
use_agent: bool,
use_password: bool,
) -> Result<()>
pub async fn download_file( &mut self, remote_path: &str, local_path: &Path, key_path: Option<&Path>, strict_mode: Option<StrictHostKeyChecking>, use_agent: bool, use_password: bool, ) -> Result<()>
Download a single file from the remote host
Sourcepub async fn upload_dir(
&mut self,
local_dir_path: &Path,
remote_dir_path: &str,
key_path: Option<&Path>,
strict_mode: Option<StrictHostKeyChecking>,
use_agent: bool,
use_password: bool,
) -> Result<()>
pub async fn upload_dir( &mut self, local_dir_path: &Path, remote_dir_path: &str, key_path: Option<&Path>, strict_mode: Option<StrictHostKeyChecking>, use_agent: bool, use_password: bool, ) -> Result<()>
Upload a directory to the remote host
Sourcepub async fn download_dir(
&mut self,
remote_dir_path: &str,
local_dir_path: &Path,
key_path: Option<&Path>,
strict_mode: Option<StrictHostKeyChecking>,
use_agent: bool,
use_password: bool,
) -> Result<()>
pub async fn download_dir( &mut self, remote_dir_path: &str, local_dir_path: &Path, key_path: Option<&Path>, strict_mode: Option<StrictHostKeyChecking>, use_agent: bool, use_password: bool, ) -> Result<()>
Download a directory from the remote host
Sourcepub async fn upload_file_with_jump_hosts(
&mut self,
local_path: &Path,
remote_path: &str,
key_path: Option<&Path>,
strict_mode: Option<StrictHostKeyChecking>,
use_agent: bool,
use_password: bool,
jump_hosts_spec: Option<&str>,
) -> Result<()>
pub async fn upload_file_with_jump_hosts( &mut self, local_path: &Path, remote_path: &str, key_path: Option<&Path>, strict_mode: Option<StrictHostKeyChecking>, use_agent: bool, use_password: bool, jump_hosts_spec: Option<&str>, ) -> Result<()>
Upload file with jump host support
Sourcepub async fn download_file_with_jump_hosts(
&mut self,
remote_path: &str,
local_path: &Path,
key_path: Option<&Path>,
strict_mode: Option<StrictHostKeyChecking>,
use_agent: bool,
use_password: bool,
jump_hosts_spec: Option<&str>,
) -> Result<()>
pub async fn download_file_with_jump_hosts( &mut self, remote_path: &str, local_path: &Path, key_path: Option<&Path>, strict_mode: Option<StrictHostKeyChecking>, use_agent: bool, use_password: bool, jump_hosts_spec: Option<&str>, ) -> Result<()>
Download file with jump host support
Auto Trait Implementations§
impl Freeze for SshClient
impl RefUnwindSafe for SshClient
impl Send for SshClient
impl Sync for SshClient
impl Unpin for SshClient
impl UnwindSafe for SshClient
Blanket Implementations§
§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> Declassify for T
impl<T> Declassify for T
type Declassified = T
fn declassify(self) -> T
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
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>
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>
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 moreSource§impl<D> OwoColorize for D
impl<D> OwoColorize for D
Source§fn fg<C>(&self) -> FgColorDisplay<'_, C, Self>where
C: Color,
fn fg<C>(&self) -> FgColorDisplay<'_, C, Self>where
C: Color,
Source§fn bg<C>(&self) -> BgColorDisplay<'_, C, Self>where
C: Color,
fn bg<C>(&self) -> BgColorDisplay<'_, C, Self>where
C: Color,
Source§fn black(&self) -> FgColorDisplay<'_, Black, Self>
fn black(&self) -> FgColorDisplay<'_, Black, Self>
Source§fn on_black(&self) -> BgColorDisplay<'_, Black, Self>
fn on_black(&self) -> BgColorDisplay<'_, Black, Self>
Source§fn red(&self) -> FgColorDisplay<'_, Red, Self>
fn red(&self) -> FgColorDisplay<'_, Red, Self>
Source§fn on_red(&self) -> BgColorDisplay<'_, Red, Self>
fn on_red(&self) -> BgColorDisplay<'_, Red, Self>
Source§fn green(&self) -> FgColorDisplay<'_, Green, Self>
fn green(&self) -> FgColorDisplay<'_, Green, Self>
Source§fn on_green(&self) -> BgColorDisplay<'_, Green, Self>
fn on_green(&self) -> BgColorDisplay<'_, Green, Self>
Source§fn yellow(&self) -> FgColorDisplay<'_, Yellow, Self>
fn yellow(&self) -> FgColorDisplay<'_, Yellow, Self>
Source§fn on_yellow(&self) -> BgColorDisplay<'_, Yellow, Self>
fn on_yellow(&self) -> BgColorDisplay<'_, Yellow, Self>
Source§fn blue(&self) -> FgColorDisplay<'_, Blue, Self>
fn blue(&self) -> FgColorDisplay<'_, Blue, Self>
Source§fn on_blue(&self) -> BgColorDisplay<'_, Blue, Self>
fn on_blue(&self) -> BgColorDisplay<'_, Blue, Self>
Source§fn magenta(&self) -> FgColorDisplay<'_, Magenta, Self>
fn magenta(&self) -> FgColorDisplay<'_, Magenta, Self>
Source§fn on_magenta(&self) -> BgColorDisplay<'_, Magenta, Self>
fn on_magenta(&self) -> BgColorDisplay<'_, Magenta, Self>
Source§fn purple(&self) -> FgColorDisplay<'_, Magenta, Self>
fn purple(&self) -> FgColorDisplay<'_, Magenta, Self>
Source§fn on_purple(&self) -> BgColorDisplay<'_, Magenta, Self>
fn on_purple(&self) -> BgColorDisplay<'_, Magenta, Self>
Source§fn cyan(&self) -> FgColorDisplay<'_, Cyan, Self>
fn cyan(&self) -> FgColorDisplay<'_, Cyan, Self>
Source§fn on_cyan(&self) -> BgColorDisplay<'_, Cyan, Self>
fn on_cyan(&self) -> BgColorDisplay<'_, Cyan, Self>
Source§fn white(&self) -> FgColorDisplay<'_, White, Self>
fn white(&self) -> FgColorDisplay<'_, White, Self>
Source§fn on_white(&self) -> BgColorDisplay<'_, White, Self>
fn on_white(&self) -> BgColorDisplay<'_, White, Self>
Source§fn default_color(&self) -> FgColorDisplay<'_, Default, Self>
fn default_color(&self) -> FgColorDisplay<'_, Default, Self>
Source§fn on_default_color(&self) -> BgColorDisplay<'_, Default, Self>
fn on_default_color(&self) -> BgColorDisplay<'_, Default, Self>
Source§fn bright_black(&self) -> FgColorDisplay<'_, BrightBlack, Self>
fn bright_black(&self) -> FgColorDisplay<'_, BrightBlack, Self>
Source§fn on_bright_black(&self) -> BgColorDisplay<'_, BrightBlack, Self>
fn on_bright_black(&self) -> BgColorDisplay<'_, BrightBlack, Self>
Source§fn bright_red(&self) -> FgColorDisplay<'_, BrightRed, Self>
fn bright_red(&self) -> FgColorDisplay<'_, BrightRed, Self>
Source§fn on_bright_red(&self) -> BgColorDisplay<'_, BrightRed, Self>
fn on_bright_red(&self) -> BgColorDisplay<'_, BrightRed, Self>
Source§fn bright_green(&self) -> FgColorDisplay<'_, BrightGreen, Self>
fn bright_green(&self) -> FgColorDisplay<'_, BrightGreen, Self>
Source§fn on_bright_green(&self) -> BgColorDisplay<'_, BrightGreen, Self>
fn on_bright_green(&self) -> BgColorDisplay<'_, BrightGreen, Self>
Source§fn bright_yellow(&self) -> FgColorDisplay<'_, BrightYellow, Self>
fn bright_yellow(&self) -> FgColorDisplay<'_, BrightYellow, Self>
Source§fn on_bright_yellow(&self) -> BgColorDisplay<'_, BrightYellow, Self>
fn on_bright_yellow(&self) -> BgColorDisplay<'_, BrightYellow, Self>
Source§fn bright_blue(&self) -> FgColorDisplay<'_, BrightBlue, Self>
fn bright_blue(&self) -> FgColorDisplay<'_, BrightBlue, Self>
Source§fn on_bright_blue(&self) -> BgColorDisplay<'_, BrightBlue, Self>
fn on_bright_blue(&self) -> BgColorDisplay<'_, BrightBlue, Self>
Source§fn bright_magenta(&self) -> FgColorDisplay<'_, BrightMagenta, Self>
fn bright_magenta(&self) -> FgColorDisplay<'_, BrightMagenta, Self>
Source§fn on_bright_magenta(&self) -> BgColorDisplay<'_, BrightMagenta, Self>
fn on_bright_magenta(&self) -> BgColorDisplay<'_, BrightMagenta, Self>
Source§fn bright_purple(&self) -> FgColorDisplay<'_, BrightMagenta, Self>
fn bright_purple(&self) -> FgColorDisplay<'_, BrightMagenta, Self>
Source§fn on_bright_purple(&self) -> BgColorDisplay<'_, BrightMagenta, Self>
fn on_bright_purple(&self) -> BgColorDisplay<'_, BrightMagenta, Self>
Source§fn bright_cyan(&self) -> FgColorDisplay<'_, BrightCyan, Self>
fn bright_cyan(&self) -> FgColorDisplay<'_, BrightCyan, Self>
Source§fn on_bright_cyan(&self) -> BgColorDisplay<'_, BrightCyan, Self>
fn on_bright_cyan(&self) -> BgColorDisplay<'_, BrightCyan, Self>
Source§fn bright_white(&self) -> FgColorDisplay<'_, BrightWhite, Self>
fn bright_white(&self) -> FgColorDisplay<'_, BrightWhite, Self>
Source§fn on_bright_white(&self) -> BgColorDisplay<'_, BrightWhite, Self>
fn on_bright_white(&self) -> BgColorDisplay<'_, BrightWhite, Self>
Source§fn bold(&self) -> BoldDisplay<'_, Self>
fn bold(&self) -> BoldDisplay<'_, Self>
Source§fn dimmed(&self) -> DimDisplay<'_, Self>
fn dimmed(&self) -> DimDisplay<'_, Self>
Source§fn italic(&self) -> ItalicDisplay<'_, Self>
fn italic(&self) -> ItalicDisplay<'_, Self>
Source§fn underline(&self) -> UnderlineDisplay<'_, Self>
fn underline(&self) -> UnderlineDisplay<'_, Self>
Source§fn blink(&self) -> BlinkDisplay<'_, Self>
fn blink(&self) -> BlinkDisplay<'_, Self>
Source§fn blink_fast(&self) -> BlinkFastDisplay<'_, Self>
fn blink_fast(&self) -> BlinkFastDisplay<'_, Self>
Source§fn reversed(&self) -> ReversedDisplay<'_, Self>
fn reversed(&self) -> ReversedDisplay<'_, Self>
Source§fn strikethrough(&self) -> StrikeThroughDisplay<'_, Self>
fn strikethrough(&self) -> StrikeThroughDisplay<'_, Self>
Source§fn color<Color>(&self, color: Color) -> FgDynColorDisplay<'_, Color, Self>where
Color: DynColor,
fn color<Color>(&self, color: Color) -> FgDynColorDisplay<'_, Color, Self>where
Color: DynColor,
OwoColorize::fg or
a color-specific method, such as OwoColorize::green, Read moreSource§fn on_color<Color>(&self, color: Color) -> BgDynColorDisplay<'_, Color, Self>where
Color: DynColor,
fn on_color<Color>(&self, color: Color) -> BgDynColorDisplay<'_, Color, Self>where
Color: DynColor,
OwoColorize::bg or
a color-specific method, such as OwoColorize::on_yellow, Read more