#ssh #libssh #bindings #server #dynamically #server-client #build

libssh-sys-dylib

Bindings to libssh for creating SSH servers and clients, etc. Links dynamically to systeml's libssh library

1 unstable release

0.1.0 Dec 30, 2019

#5 in #libssh


Used in ssh_jumper

MIT/Apache

12KB

libssh-sys-dylib

Rust crate that provides FFI bindings to libssh.

Dependencies

Bindings are generated at build time using bindgen. See its Requirements page. libssh must be present on your system during runtime, it is dynamically linked. This addresses the warnings against static linking and its license implications. In order to build this crate libssh header files must also be available.

On Ubuntu all dependencies can be installed by running

apt install libssh-dev llvm-dev clang

See other options on libssh download page.

Building

cargo build

Usage

See smoke test where simple ssh server and client are created. The goal of the test is to show bindings work correctly, it is not a recommended way of API usage. More examples in C/C++ can be found here.

libssh version

Minimum supported version of libssh is 0.6.3, found in Ubuntu 16.04.

License

Licensed under either of

at your option.

Note that libssh is licensed under LGPLv2.

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.

No runtime deps

~0–1.8MB
~34K SLoC