pssh-rs is a parallel ssh tool written in rust.
date
command on 192.168.56.101 and 192.168.56.102:
bash
./pssh-rs -h "192.168.56.101;192.168.56.102" -uroot -pmypassword -c 'date'
the hosts can be separated by comma, semicolon or spaces.
```bash $ 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 ```
execute date
on all nginx hosts
bash
./pssh-rs -t hosts.toml -s nginx -c 'date'
note that the username of 192.168.57.103 is ubuntu, which inherited from its parent nginx section.
just run cargo install pssh-rs
to install.
pssh-rs can be built with cargo build --release
, or using the following
command to build statically:
bash
sudo apt install musl-tools -y
rustup target add x86_64-unknown-linux-musl
cargo build --target=x86_64-unknown-linux-musl --release