pssh
pssh is a command line tool that stands for "Parallel SSH" and is used for executing commands on multiple remote servers simultaneously. It is designed to make remote administration tasks easier and more efficient, especially for managing a large number of servers. With pssh, you can specify a list of target hosts and execute a command or script on all those hosts at once. The tool utilizes parallel processing, allowing it to execute commands simultaneously on multiple servers, thus reducing execution time. It supports a range of authentication methods, including password-based authentication, public key authentication, and Kerberos. Pssh also provides options for controlling the number of simultaneous connections, reducing the load on the local machine and remote servers. It offers various output formats, including raw, ordered, and grouped, enabling flexible and readable output. Pssh provides a set of utilities like pscp (for copying files), prsync (for synchronizing files), and pslurp (for uploading/downloading files). It supports executing commands interactively, as well as non-interactively by reading commands from a file. Overall, pssh is a powerful and versatile tool for efficient remote server administration, enabling administrators to save time and effort in managing multiple servers simultaneously.
List of commands for pssh:
-
pssh:tldr:1977b pssh: Run a command with extra SSH arguments.$ pssh -i -h ${path-to-hosts_file} -x "${-O VisualHostKey=yes}" ${hostname -i}try on your machineexplain this command
-
pssh:tldr:624a8 pssh: Run a command limiting the number of parallel connections to 10.$ pssh -i -h ${path-to-hosts_file} -p ${10} '${cd dir; --script-sh; exit}'try on your machineexplain this command
-
pssh:tldr:92b74 pssh: Run a command as root (this asks for the root password).$ pssh -i -h ${path-to-hosts_file} -A -l ${root_username} ${hostname -i}try on your machineexplain this command
-
pssh:tldr:c685f pssh: Run a command on two hosts, and print its output on each server inline.$ pssh -i -H "${host1} ${host2}" ${hostname -i}try on your machineexplain this command
-
pssh:tldr:d9660 pssh: Run a command and save the output to separate files.$ pssh -H ${host1} -H ${host2} -o ${path-to-output_dir} ${hostname -i}try on your machineexplain this command
-
pssh:tldr:f474a pssh: Run a command on multiple hosts, specified in a new-line separated file.$ pssh -i -h ${path-to-hosts_file} ${hostname -i}try on your machineexplain this command