pub struct SshServerBuilder { /* private fields */ }
Expand description
Builder for the ssh server.
§Example
use ssh_test_server::{SshServerBuilder, User};
let _ssh = SshServerBuilder::default()
.add_user(User::new_admin("root", "pass123"))
.run()
.await
.unwrap();
Implementations§
Source§impl SshServerBuilder
impl SshServerBuilder
Sourcepub fn add_user(self, user: User) -> Self
pub fn add_user(self, user: User) -> Self
Add a user to ssh server.
§Example
let _ssh = SshServerBuilder::default()
.add_user(User::new_admin("root", "pass"))
.add_user(User::new("luiza", "obrazy"))
.run()
.await
.unwrap();
Sourcepub fn add_users(self, users: &[User]) -> Self
pub fn add_users(self, users: &[User]) -> Self
Add list of users.
let users = vec![User::new("a", "p"), User::new("b", "p")];
let _ssh = SshServerBuilder::default()
.add_users(&users)
.run()
.await
.unwrap();
Sourcepub fn add_program(self, program: &str, handler: Box<SshExecuteHandler>) -> Self
pub fn add_program(self, program: &str, handler: Box<SshExecuteHandler>) -> Self
Add custom command/program.
§Example
fn cmd_print_message(
context: &SshExecuteContext,
program: &str,
args: &[&str],
) -> SshExecuteResult {
let stdout = format!(
"Program {program} run by {} has {} args.",
context.current_user,
args.len()
);
SshExecuteResult::stdout(0, stdout)
}
let _ssh = SshServerBuilder::default()
.add_program("print_message", Box::new(cmd_print_message))
.run()
.await
.unwrap();
Sourcepub fn bind_addr(self, bind_addr: &str) -> Self
pub fn bind_addr(self, bind_addr: &str) -> Self
Listen on address.
§Example
let _ssh = SshServerBuilder::default()
.bind_addr("127.0.0.1")
.run()
.await
.unwrap();
Trait Implementations§
Source§impl Default for SshServerBuilder
impl Default for SshServerBuilder
Source§fn default() -> SshServerBuilder
fn default() -> SshServerBuilder
Returns the “default value” for a type. Read more
Auto Trait Implementations§
impl Freeze for SshServerBuilder
impl !RefUnwindSafe for SshServerBuilder
impl Send for SshServerBuilder
impl Sync for SshServerBuilder
impl Unpin for SshServerBuilder
impl !UnwindSafe for SshServerBuilder
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