distant ssh2
Library provides native ssh integration into the
distant binary.
🚧 (Alpha stage software) This library is in rapid development and may break or change frequently! 🚧
Details
The distant-ssh2 library supplies functionality to speak over the ssh
protocol using distant and spawn distant servers on remote machines using
ssh.
Installation
You can import the dependency by adding the following to your Cargo.toml:
[]
= "0.17"
Examples
Below is an example of connecting to an ssh server and translating between ssh protocol and distant protocol:
use ;
// Using default ssh arguments to establish a connection
let mut ssh = connect
.expect;
// Authenticating with the server is a separate step
// 1. You can pass the local handler and authentication and host verification
// will be done over stderr
// 2. You can provide your own handlers for programmatic engagement
ssh.authenticate.await
.expect;
// Convert into an ssh client session (no distant server required)
let client = ssh.into_distant_client.await
.expect;
Below is an example of connecting to an ssh server, spawning a distant server on the remote machine, and connecting to the distant server:
use ;
// Using default ssh arguments to establish a connection
let mut ssh = connect
.expect;
// Authenticating with the server is a separate step
// 1. You can pass the local handler and authentication and host verification
// will be done over stderr
// 2. You can provide your own handlers for programmatic engagement
ssh.authenticate.await
.expect;
// Convert into a distant session, which involves spawning a distant server
// using the current ssh connection and then establishing a new connection
// to the distant server
//
// This takes in `DistantLaunchOpts` to specify the server's bin path,
// arguments, timeout, and whether or not to spawn using a login shell
let client = ssh.launch_and_connect.await
.expect;
License
This project is licensed under either of
Apache License, Version 2.0, (LICENSE-APACHE or apache-license) MIT license (LICENSE-MIT or mit-license) at your option.