#ssh #host #parallel #execute-command #toml #tool #comma

app pssh-rs

pssh-rs 是用 Rust 编写的并行 SSH 工具

9 个版本

0.2.7 2023 年 2 月 21 日
0.2.6 2023 年 2 月 16 日
0.2.4 2023 年 1 月 9 日
0.2.2 2022 年 12 月 8 日
0.1.0 2022 年 12 月 3 日

#8#comma

每月 28 次下载

自定义许可

15KB
274

pssh-rs 是用 Rust 编写的并行 SSH 工具。

示例

  1. 在 192.168.56.101 和 192.168.56.102 上运行 date 命令
./pssh-rs -h "192.168.56.101;192.168.56.102" -uroot -pmypassword -c 'date'

主机可以通过逗号、分号或空格分隔。

  1. 使用 toml 文件配置主机,假设我们有以下 hosts.toml 文件
$ cat ./hosts.toml 
username = "root"
password = "aaa"
port = 22
hosts = [
    "192.168.56.101",
    "192.168.56.102"
]

[nginx]
username = "ubuntu"
password = "bbb"
port = 22
hosts = [
    "192.168.57.101",
    "192.168.57.102"
]

[[nginx.host]]
host = "192.168.57.103"
password = "ccc"
port = 36000

[[nginx.host]]
host = "192.168.57.104"
username = "root"
password = "ddd"
port = 36000

在所有 nginx 主机上执行 date

./pssh-rs -t hosts.toml -s nginx -c 'date'

注意 192.168.57.103 的用户名为 ubuntu,它继承了其父 nginx 部分。

安装

只需运行 cargo install pssh-rs 即可安装。

构建

pssh-rs 可以使用 cargo build --release 构建,或使用以下命令构建静态版本

sudo apt install musl-tools -y
rustup target add x86_64-unknown-linux-musl
cargo build --target=x86_64-unknown-linux-musl --release

依赖项

~8–12MB
~245K SLoC