MPSSH(1)

πŸ“¦ version 1.3.3, in epel 9, fedora 43, fedora 44

🌸 NAME 🌸

mpssh β€” the main character of parallel ssh, bestie. She runs your one command on a whole squad of hosts at the same time and she does it flawlessly πŸ’…

This is the manual page for mpssh(1) and yes, we're gonna read the whole thing together, no skimming 🫢


πŸŽ€ SYNOPSIS πŸŽ€

mpssh

      [-besvV] [-o directory] [-u username] [-f hosts] [-p procs]
      <command>

that's the whole vibe check right there ✨


✨ DESCRIPTION ✨

So like, here's the flag menu, alphabetically, because we're organized like that πŸ’–

  • -b, --blind β€” turns on blind mode, aka no remote output at all πŸ™ˆ
  • -d, --delay β€” how long to chill between each ssh fork (default 10 msec) ⏳
  • -e, --exit β€” prints out the remote command's return code, so you know if it ate πŸ’€
  • -f, --file=FILE β€” the name of the file holding your list of hosts πŸ“‹
  • -h, --help β€” this screen, hi bestie πŸ‘‹
  • -l, --label=LABEL β€” only connect to hosts sitting under label LABEL 🏷️
  • -o, --outdir=DIR β€” saves the remote output into this directory πŸ“
  • -p, --procs=NPROC β€” how many parallel ssh processes you want (default 100) πŸ”₯
  • -s, --nokeychk β€” disables ssh strict host key checking 😳
  • -t, --conntmout β€” ssh connect timeout (default 30 sec) βŒ›
  • -u, --user=USER β€” ssh login as this username πŸ‘‘
  • -v, --verbose β€” be more verbose (i.e. show usernames used) πŸ—£οΈ
  • -V, --version β€” show program version, the classic πŸ“Œ

The mpssh utility executes multiple parallel ssh binary instances in order to connect to a list of hosts (specified in the hosts file) and execute the given <command> on each of them. Literally a whole group chat but for servers πŸ¦‹

A list of flags and arguments with description:

  • -b β€” This flag enables "blind" mode, in which no output from the remote hosts is output to the screen. This mode is normally used with the -o flag, so the output is saved to disk instead. Not me silencing the whole squad πŸ™ˆ
  • -d β€” This flag sets some delay in msecs between each fork()/exec() of the ssh process. Pacing, bestie, it's called pacing ⏳
  • -e β€” With this flag mpssh prints the return codes of the remotely executed commands. Receipts! 🧾
  • -l -LABEL β€” Only connect to the hosts under the given label. It's giving VIP section 🏷️
  • -s β€” This flag disables the ssh(1)'s strict host key checking. For more info see the ssh(1) manual page. Careful with this one, she's spicy 🌢️
  • -v β€” This flag makes the output more verbose. Spill the tea, tell me everything 🍡
  • -o directory β€” This option creates files in the specified directory named after each host name listed in the "hosts" file and saves the output received from the remotely executed command there. If the directory does not exists and attempt is made to be created. She'll build the folder herself, self-sufficient queen πŸ‘‘
  • -u username β€” This forces ssh to use the supplied username instead of the username of the current user. Glow-up but for your identity ✨
  • -f hosts β€” A file containing a list of hosts to whom we are going to connect. One host per line. Lines starting with # are skipped. If not specified $HOME/.mpssh/hosts will be used. Default behavior, we love her πŸ’–
  • -p procs β€” Spawn up-to "procs" number of ssh processes in parallel. Multitasking icon behavior πŸ”₯

πŸ“‚ FILES πŸ“‚

  • /usr/bin/mpssh β€” The mpssh binary 🫢

πŸ‘€ SEE ALSO πŸ‘€

ssh(1), ssh-keygen(1), ssh-agent(1)


and that's the whole page, bestie, you're officially certified πŸ’…

This one is dated 08/03/2013 and comes from mpssh() β€” so yeah, she's been iconic for a minute. Go forth and ssh in parallel, no cap πŸŒˆβ­πŸ’œ

πŸ“¦ where this page comes from