Bindings to libssh. Unrelated to libssh2 (which also has rust bindings, see the "ssh2" crate),
Libssh is a client and server library supporting both versions 1 and 2 of the SSH protocol. The client part follows the behavior of openssh closely, in particular it parses ~/.ssh/config, and accepts ProxyCommand directives automatically.
Although this binding is Apache/MIT-licensed, libssl itself is released under the LGPL. Make sure you understand what it means if you plan to link statically (this crate links dynamically by default).
Client examples
use *;
let mut session= new.unwrap;
session.set_host.unwrap;
session.parse_config.unwrap;
session.connect.unwrap;
println!;
session.userauth_publickey_auto.unwrap;
Running a command on a remote server
use *;
use Read;
let mut session= new.unwrap;
session.set_host.unwrap;
session.parse_config.unwrap;
session.connect.unwrap;
println!;
session.userauth_publickey_auto.unwrap;
Creating a remote file
use *;
use Write;
let mut session= new.unwrap;
session.set_host.unwrap;
session.parse_config.unwrap;
session.connect.unwrap;
println!;
session.userauth_publickey_auto.unwrap;
Creating a remote directory with a file inside
use *;
use Write;
let mut session= new.unwrap;
session.set_host.unwrap;
session.parse_config.unwrap;
session.connect.unwrap;
println!;
session.userauth_publickey_auto.unwrap;
Reading a remote file
use *;
use Read;
let mut session= new.unwrap;
session.set_host.unwrap;
session.parse_config.unwrap;
session.connect.unwrap;
println!;
session.userauth_publickey_auto.unwrap;