https://github.com/honzasp/makiko
Asynchronous SSH client library in pure Rust
https://github.com/honzasp/makiko
async rust ssh ssh-client ssh-client-library ssh-library tokio
Last synced: 7 months ago
JSON representation
Asynchronous SSH client library in pure Rust
- Host: GitHub
- URL: https://github.com/honzasp/makiko
- Owner: honzasp
- License: unlicense
- Created: 2022-06-07T13:20:10.000Z (over 3 years ago)
- Default Branch: master
- Last Pushed: 2025-03-29T19:30:07.000Z (7 months ago)
- Last Synced: 2025-03-29T19:35:05.498Z (7 months ago)
- Topics: async, rust, ssh, ssh-client, ssh-client-library, ssh-library, tokio
- Language: Rust
- Homepage: https://honzasp.github.io/makiko/
- Size: 1.04 MB
- Stars: 46
- Watchers: 2
- Forks: 4
- Open Issues: 2
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
Awesome Lists containing this project
README
# Makiko
Makiko is an asynchronous SSH client library in pure Rust.
**[Tutorial][tutorial] | [API docs][docs-rs] | [Github][github] | [Crate][crates-io]**
[tutorial]: https://honzasp.github.io/makiko/tutorial
[docs-rs]: https://docs.rs/makiko/latest/makiko
[github]: https://github.com/honzasp/makiko
[crates-io]: https://crates.io/crates/makiko## Features
- SSH protocol 2
- Authentication methods: publickey, password, none
- Shell/exec sessions
- Remote and local tunnels
- Raw SSH channels (low-level API)
- Ciphers: chacha20-poly1305, aes128-gcm, aes256-gcm, aes128-ctr, aes192-ctr,
aes256-ctr, aes128-cbc*, aes192-cbc*, aes256-cbc*, 3des-cbc**
- MACs: hmac-sha2-256-etm, hmac-sha2-512-etm, hmac-sha2-256, hmac-sha2-512,
hmac-sha1-etm*, hmac-sha1*
- Public key algorithms: ssh-ed25519, rsa-sha2-256, rsa-sha2-512,
ecdsa-sha2-nistp256*, ecdsa-sha2-nistp384*, ssh-rsa*
- Key exchange algorithms: curve25519-sha256, diffie-hellman-group14-sha1*,
diffie-hellman-group14-sha256*, diffie-hellman-group16-sha512*,
diffie-hellmann-group18-sha512*, diffie-hellman-group1-sha1**
- Crypto from [Rust Crypto][rust-crypto]
- Use your own sockets, spawn your own tasks
- Uses [Tokio][tokio] interfaces (but does not depend on the Tokio runtime)
- Rust all the way down: no dependency on non-Rust libraries, direct or indirect[rust-crypto]: https://github.com/RustCrypto
[tokio]: https://tokio.rs/(* Algorithms marked with an asterisk are not enabled by default)
(** Algorithms marked with two asterisks are only available with feature `insecure-crypto`)## Low-level
Makiko gives you a lot of control over the SSH connection, it is meant to be a
building block for libraries and advanced applications.> Makiko and most of the cryptography crates from [Rust Crypto][rust-crypto]
> that Makiko uses have not yet been audited by a trusted third party. Use at
> your own risk!## Contributing
Contributions are welcome! Please contact me ([@honzasp][honzasp]) or open a
pull request.[honzasp]: https://github.com/honzasp
## License
This software is released into the public domain. Please see [UNLICENSE](UNLICENSE).