pssh是一款开源的软件,使用python实现,用于批量ssh操作大批量机器;pssh是一个可以在多台服务器上执行命令的工具,同时支持拷贝文件,是同类工具中很出色的;比起for循环的做法,我更推荐使用pssh!使用pssh的前提是:必须在本机与其他服务器上配置好密钥认证访问(即ssh信任关系)。
语法格式:pssh [参数] [文件]
常用参数:
-h | 执行命令的远程主机列表文件 |
-l | 远程机器的用户名 |
-p | 一次最大允许多少连接 |
-A | 提示输入密码并且把密码传递给ssh(注意这个参数添加后只是提示作用,随便输入或者不输入直接回车都可以) |
-O | 设置ssh参数的具体配置,参照ssh_config配置文件 |
-x | 传递多个SSH 命令,多个命令用空格分开,用引号括起来 |
-X | 同-x 但是一次只能传递一个命令 |
参考实例
批量执行命令:
[root@jiloc ~]# pssh -h hosts.txt -l root -i 'uptime'
如果添加-A参数,那么即使提前做了ssh信任关系,还是会提示输入密码:
[root@jiloc ~]# pssh -h hosts.txt -l root -i -A 'uptime'