You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Execute a script over ssh in parallel using Node.js and pipe to and/or from all
sessions at once, or individual sessions. Inspired by pssh(1)
Installation
npm install pssh-exec
Example
varpssh=require('pssh-exec')varhosts=[{host: '127.0.0.1'},{host: '192.168.1.1'}]// Will default to the ~/.ssh/id_rsa.pem as per `ssh-exec`varopts={username: 'root'}varsessions=pssh('cat -',hosts,opts,function(err){if(err){console.error(err)process.exit(1)}process.exit(0)})process.stdin.pipe(sessions).pipe(process.stdout)
Of notice is .add(stream), .remove(stream), .destroy([err]) and
the constructor:
psshExec(cmd, hosts, [options], [cb])
cmd - The command to execute on each machine
hosts - An array of hosts objects like the ones defined by ssh-exec.
Can be as specific or general as needed to override the defaults defined by
ssh-exec, and can override the options object
options - Optional, defines the commonalities between the hosts.
The hosts objects have higher specificity
cb - Optional, callback(err) called when the multi-duplex-stream
completes or fails.