Skip to content

Latest commit

 

History

History
117 lines (81 loc) · 2.22 KB

README_ZH.md

File metadata and controls

117 lines (81 loc) · 2.22 KB

ssh-rs ✨

English | 简体中文

rust实现的ssh2.0客户端。

如果在使用中遇到任何问题,欢迎 issues 或者 PR

连接方式:

1. 密码连接:

fn main() {
    let session = ssh::create_session()
        .username("ubuntu")
        .password("password")
        .connect("ip:port")
        .unwrap()
        .run_local();
}

2. 公钥连接:

fn main() {
    let session = ssh::create_session()
        .username("ubuntu")
        .password("password")
        .private_key_path("./id_rsa") // 文件地址
        .connect("ip:port")
        .unwrap()
        .run_local();
}    
fn main() {
    let session = ssh::create_session()
        .username("ubuntu")
        .password("password")
        .private_key("rsa_string") // 文件字符串
        .connect("ip:port")
        .unwrap()
        .run_local();
}

启用全局日志:

 ssh::debug();

设置超时时间:

ssh::create_session().timeout(Some(std::time::Duration::from_secs(5)));

目前只支持 exec shell scp 三种使用方式:

  1. exec示例
  2. shell示例
  3. scp示例

自定义连接方式:

bio示例

算法支持:

1. 密钥交换算法

  • curve25519-sha256
  • ecdh-sha2-nistp256

2. 主机密钥算法

  • ssh-ed25519
  • rsa-sha2-512
  • rsa-sha2-256
  • rsa-sha (features = ["dangerous-rsa-sha1"])

3. 加密算法(客户端到服务端)

  • chacha20-poly1305@openssh.com
  • aes128-ctr
  • aes192-ctr
  • aes256-ctr

4. 加密算法(服务端到客户端)

  • chacha20-poly1305@openssh.com
  • aes128-ctr

5. MAC算法(客户端到服务端)

  • hmac-sha1

6. MAC算法(服务端到客户端)

  • hmac-sha1

7. 压缩算法(客户端到服务端)

  • none

8. 压缩算法(服务端到客户端)

  • none

☃️ 会继续添加其它算法。