Pure-rust SSH 2.0 Client
```rust use std::net::TcpStream; use coolssh::{createed25519keypair, dumped25519pk_openssh, Connection};
let hexkeypair: String = createed25519keypair(); println!("Key Pair (private): {}", hexkeypair);
let githubaccountid = "john.doe@gmail.com";
let opensshencodedpubkey = dumped25519pkopenssh(&hexkeypair, githubaccountid);
println!("OpenSSH-Encoded Public Key {}", opensshencodedpubkey);
// Add the public key to authorized_keys
on your server
// -> https://github.com/settings/keys
let stream = TcpStream::connect("github.com:22").unwrap(); let mut conn = Connection::new(stream, ("git", hexkeypair.asstr()).into()).unwrap();
// set appropriate read timeout (preferably after authentication): conn.mutatestream(|stream| { let timeout = std::time::Duration::frommillis(200); stream.setreadtimeout(Some(timeout)).unwrap() });
let env = []; let run = conn.run("git-upload-pack rust-lang/rust.git", &env).unwrap(); ```
Feel free to submit pull request for these.