Skip to content

openssh-rust/openssh

Folders and files

NameName
Last commit message
Last commit date

Latest commit

525bc13 · Jan 9, 2025
Nov 15, 2024
Jan 30, 2022
Jan 9, 2025
Sep 10, 2024
Aug 1, 2023
Apr 11, 2020
Apr 11, 2020
Jan 9, 2025
Jan 9, 2025
Apr 11, 2020
Apr 11, 2020
Feb 27, 2022
Jan 30, 2022
Mar 7, 2022
Apr 12, 2020
Mar 8, 2022
Jun 7, 2022
Jun 21, 2022
Apr 14, 2022
Jun 21, 2022

Repository files navigation

Crates.io Documentation Codecov

Scriptable SSH through OpenSSH.

This crate wraps the OpenSSH remote login client (ssh on most machines), and provides a convenient mechanism for running commands on remote hosts. Since all commands are executed through the ssh command, all your existing configuration (e.g., in .ssh/config) should continue to work as expected.

The library's API is modeled closely after that of [std::process::Command], since ssh also attempts to make the remote process seem as much as possible like a local command.

License

Licensed under either of

at your option.

Contribution

Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.

Run integration tests

Requires docker and cargo-hack.

Check getting Docker guide on how to install docker, and use cargo install cargo-hack to install cargo-hack.

./run_ci_tests.sh

It will create a container which runs sshd, setup ssh-agent, and environment variables that are required to run the integration tests.

It will also test different combination of feature flags to ensure they all compile without error.

Build documentation

Requires nightly cargo.

To install nightly cargo, run rustup toolchain install nightly.

./build_doc.sh