1 个不稳定版本
0.1.0 | 2019年11月26日 |
---|
#12 in #ssh2
8KB
115 行代码(不包括注释)
sshrs
使用 Rust 编写的 SSH 库。该库包装了 ssh2 绑定库,使其更容易使用。简单来说,它旨在快速方便地进行 SSH 连接,同时保持活跃会话。
注意:转发、隧道和交互式外壳尚未完全实现。
用法
连接
let mut tunn = ssh::SSH::new(&HOST, 22);
tunn.connect(&USR, &PWD).unwrap();
assert_eq!(tunn.authed(), true);
使用 ssh-agent 连接
let mut tunn = ssh::SSH::new(&HOST, 22);
tunn.connect_agent(&USR).unwrap();
assert_eq!(tunn.authed(), true);
执行命令
let result = tunn.run_command("uname -a").unwrap();
println!("Command Output: {}", result)
上传文件
let src = Path::new("/home/ssh/important.txt");
let dest = Path::new("/tmp/destination.txt");
let result = tunn.upload_file(&src, dest);
下载文件
let fpath = Path::new("/tmp/downloadme.tar.gz");
let (contents, stat) = tunn.get_file(fpath).unwrap();
println!("File Contents: {}", String::from_utf8(contents).unwrap());
依赖
~3.5MB
~75K SLoC