#ssh #thrussh #tokio

t-ssh-client

Rust async ssh client wrapped by thrussh

5 releases

0.2.1 Jul 26, 2022
0.2.0 Jul 25, 2022
0.1.3 Jul 25, 2022

#3 in #thrussh

MIT license

15KB
186 lines

t-ssh-client

Rust async ssh client wrapped by thrussh.

Crates.io Apache-2.0 licensed API docs

Usage

# enable openssl support
t-ssh-client = { version = "0.2.1", features = ["openssl"]}

Example

use std::env;
use std::time::Duration;

use t_ssh_client::{AuthMethod, Client};

#[tokio::main]
async fn main() -> Result<(), Box<dyn std::error::Error>> {
    let password = env::var("PASSWORD")?;

    let mut client = Client::builder()
        .username("admin")
        .auth(AuthMethod::Password(password))
        .connect_timeout(Duration::from_secs(2))
        .connect("192.168.62.1:22")
        .await?;
    println!("login success");

    let output = client.output("echo 'hello, world!'").await?;
    assert_eq!(output.stdout_string(), "hello, world!\n");

    Ok(())
}

License

This project is licensed under the Apache-2.0 license.

Dependencies

~21–30MB
~265K SLoC