openssh-mux-client

Crates.ioopenssh-mux-client
lib.rsopenssh-mux-client
version0.17.6
sourcesrc
created_at2021-09-16 09:32:53.895995
updated_at2024-09-10 13:54:10.278957
descriptionopenssh mux client.
homepage
repositoryhttps://github.com/openssh-rust/openssh-mux-client
max_upload_size
id452159
size57,460
Jon Gjengset (jonhoo)

documentation

README

openssh-mux-client

Rust

crate.io downloads

crate.io version

docs

Rust library to communicate with openssh-mux-server using ssh_format.

The entire crate is built upon official document on ssh multiplex protocol.

Currently, I have written a few test cases to make sure the

  • health check
  • session opening
  • remote port forwarding
  • graceful shutdown of the ssh multiplex server
  • local port forwarding

are working as intended, while features

  • dynamic forwarding

are implemented but not tested.

There are also two features that I didn't implement:

  • forward stdio (stdin + stdout) to remote port (not that useful)
  • closure of port forwarding (according to the [document], it is not implemented yet by ssh)
  • terminating the ssh multiplex server for the ssh implementation is buggy (the server does not reply with the Ok message before it terminates).

While it is extremely likely there are bugs in my code, I think it is ready for testing.

Development

To run tests, make sure you have bash, ssh and docker installed on your computer and run:

/path/to/repository/run_test.sh
Commit count: 394

cargo fmt