博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
pssh(1) - Linux man page
阅读量:4036 次
发布时间:2019-05-24

本文共 3008 字,大约阅读时间需要 10 分钟。

名字

pssh-并行ssh程序
概要
pssh [-vAiIP] [-h hosts_file] [-H [user@]host[:port]] [-l user] [-p par] [-o outdir] [-e errdir] [-t timeout] [-O options] [-x args] [-X arg] command …

pssh -I [-vAiIP] [-h hosts_file] [-H [user@]host[:port]] [-l user] [-p par] [-o outdir] [-e errdir] [-t timeout] [-O options] [-x args] [-X arg] [command …]

描述

psshpssh是一个在多个主机上并行执行ssh的程序。 它提供了诸如向所有进程发送输入,将密码传递给ssh,将输出保存到文件和超时的功能。
PSSH_NODENUM和PSSH_HOST环境变量被发送到远程主机。 PSSH_NODENUM变量为每个ssh连接分配一个唯一的编号,从0开始计数。 PSSH_HOST变量被分配在主机列表中指定的主机名称。 请注意,sshd默认删除环境变量,因此远程主机上的sshd_config必须包含以下行:

AcceptEnv PSSH_NODENUM PSSH_HOST

选项

-h host_file执行命令的远程主机列表
–hosts host_file
从给定的host_file读取主机。 主机文件中的行格式为[user @] host [:port],可以包含空行和注释(以“#”开头的行)。 如果给出多个主机文件(-h选项被多次使用),则pssh的行为就像这些文件连接在一起。 如果主机被指定多次,那么pssh将连接给定的次数。
-H
[user@]host[:port]

–host

[user@]host[:port]

-H

“[user@]host[:port] [ [user@]host[:port ] … ]”

–host

“[user@]host[:port] [ [user@]host[:port ] … ]”

将给定的主机字符串添加到主机列表。 此选项可以多次给出,可以与-h选项一起使用。
-l user
–user user
使用给定的用户名作为未特别指定用户的任何主机条目的默认值。
-p parallelism
–par parallelism
使用给定的数字作为并发连接的最大数量。
-t timeout
–timeout timeout
在给定的秒数之后连接超时。 值为0,pssh不会超时任何连接。
-o outdir
–outdir outdir
将标准输出保存到给定目录中的文件。 文件名的格式为[user @] host [:port] [.num],其中用户和端口仅包含在明确指定它们的主机中。 该号码是每次为不止一次指定的主机增加的计数器。
-e errdir
–errdir errdir
将标准错误保存到给定目录中的文件。 文件名与-o选项的格式相同。
-x args
–extra-args args
传递额外的SSH命令行参数(有关SSH参数的更多信息,请参阅ssh(1)手册页)。 此选项可以多次指定。 参数被处理为在空格上分割,保护引号内的文本,并使用反斜杠进行转义。 要传递参数而不进行此类处理,请改用-X选项。
-X arg
–extra-arg arg
通过单个SSH命令行参数(有关SSH参数的更多信息,请参阅ssh(1)手册页)。 与-x选项不同,对参数不进行处理,包括分词。 要传递多个命令行参数,请为每个参数使用一次选项。
-O options
–options options
SSH配置文件中使用的格式的SSH选项(有关详细信息,请参阅ssh_config(5)手册页)。 此选项可以多次指定。
-A
–askpass
提示输入密码并将其传递给ssh。 密码可用于解锁密钥或进行密码认证。 密码以相当安全的方式传输(例如,它不会显示在参数列表中)。 但是,请注意,系统上的root用户可能会窃取密码。
-i
–inline
每个主机完成时显示标准输出和标准错误。
–inline-stdout
每个主机完成时显示标准输出(但不是标准错误)。
-v
–verbose
使用-i和\ options包含来自ssh的错误消息。
-I
–send-input
读取输入并发送到每个ssh进程。 由于ssh允许在标准输入上发送命令脚本,所以可以使用-I选项来代替命令参数。
-P
–print
显示输出到达。 此选项的有用性有限,因为来自不同主机的输出是交错的。
例子

连接到host1和host2,并从每个打印“hello,world”:

pssh -i -H“host1 host2”echo“hello,world”

从文件hosts.txt中指定的每个主机打印“hello,world”

pssh -i -h hosts.txt echo“hello,world”

以root身份运行命令,并提示输入root密码:

pssh -i -h hosts.txt -A -l root echo hi

运行一个长命令没有超时:

pssh -i -h hosts.txt -t 0 sleep 10000

如果文件hosts.txt有大量条目,例如100,那么并行选项也可以设置为100,以确保命令同时运行:

pssh -i -h hosts.txt -p 100 -t 0 sleep 10000

运行命令而不检查或保存主机密钥:

pssh -i -H host1 -H host2 -x“-O StrictHostKeyChecking = no -O UserKnownHostsFile = / dev / null -O GlobalKnownHostsFile = / dev / null”echo hi

打印每个连接的节点编号(将打印0,1和2):

pssh -i -H host0 -H host1 -H host2 echo $ PSSH_NODENUM’
提示

如果您有一组主机经常与特定选项连接,则创建别名可能会有所帮助,例如:

别名pssh_servers =“pssh -h /path/to/server_list.txt -l root -A”

ssh_config文件可以包含任意数量的主机部分。 每个主机条目指定仅适用于给定主机的ssh选项。 如果包含HostName选项,主机定义甚至可以像别名一样行为。 这个ssh功能与pssh主机文件相结合,提供了极大的灵活性。

退出状态

pssh的退出状态代码如下:

0成功

1杂项错误

2语法或使用错误

3至少有一个进程被信号杀死或超时。

4所有进程已完成,但至少有一个ssh进程报告错误(退出状态255)。

5没有ssh错误,但至少有一个远程命令具有非零退出状态。

作者:Brent N. Chun 和Andrew McNabb 。

也可以看看

ssh(1),ssh_config(5),pscp(1),prsync(1),pslurp(1),pnuke(1)

转载地址:http://lkbdi.baihongyu.com/

你可能感兴趣的文章
coursesa课程 Python 3 programming course_2_assessment_7 多参数函数练习题
查看>>
coursesa课程 Python 3 programming course_2_assessment_8 sorted练习题
查看>>
visca接口转RS-232C接口线序
查看>>
在unity中建立最小的shader(Minimal Shader)
查看>>
1.3 Debugging of Shaders (调试着色器)
查看>>
关于phpcms中模块_tag.class.php中的pc_tag()方法的含义
查看>>
vsftp 配置具有匿名登录也有系统用户登录,系统用户有管理权限,匿名只有下载权限。
查看>>
linux安装usb wifi接收器
查看>>
用防火墙自动拦截攻击IP
查看>>
补充自动屏蔽攻击ip
查看>>
谷歌走了
查看>>
多线程使用随机函数需要注意的一点
查看>>
getpeername,getsockname
查看>>
让我做你的下一行Code
查看>>
浅析:setsockopt()改善程序的健壮性
查看>>
关于对象赋值及返回临时对象过程中的构造与析构
查看>>
VS 2005 CRT函数的安全性增强版本
查看>>
SQL 多表联合查询
查看>>
Visual Studio 2010:C++0x新特性
查看>>
drwtsn32.exe和adplus.vbs进行dump文件抓取
查看>>