PDSH安装与使用(详细)

PDSH(Parallel Distributed Shell)是一个用于在多个远程主机上并行运行shell命令的工具,当你使用 pdsh 命令在远程主机上执行命令时,只有远程主机会执行该命令,本地主机不会执行。以下是安装和使用PDSH的步骤:

  1. 安装PDSH

在CentOS系统上,可以使用以下命令安装pdsh:

sudo yum install pdsh

2.创建包含远程主机IP的主机文件

可以使用以下命令创建包含远程主机IP的主机文件:

echo "host1 host2 host3" > hosts.txt

或者使用编辑器创建hosts.txt文件,并添加主机IP列表。

3.在所有远程主机上安装pdsh

在使用pdsh之前,需要在所有远程主机上安装pdsh。可以使用以下命令在远程主机上安装pdsh:

sudo yum install pdsh

4.使用pdsh运行命令

可以使用pdsh命令在所有主机上运行命令。以下是一些示例:

在所有主机上运行命令:

pdsh -w ^hosts.txt command

在所有主机上安装软件包:

pdsh -w ^hosts.txt sudo yum install package

在所有主机上运行命令并将输出保存到文件中:

pdsh -w ^hosts.txt command > output.txt

5.运行命令中途失败原因

  1. 确认 ssh-askpass 是否已经安装,如果没有安装可以尝试安装 openssh-askpass 软件包。

    sudo yum install openssh-askpass
    

如果仍然出现该错误,可以尝试将远程主机的公钥添加到本地主机的 ~/.ssh/known_hosts 文件中,可以使用以下命令:

ssh-keyscan -H remote_host_ip >> ~/.ssh/known_hosts

其中 remote_host_ip 是远程主机的 IP 地址

6.每次pdsh不用填密码

  1. 在本地机器上生成ssh密钥对,如果已经有密钥对可以跳过此步骤:

    ssh-keygen -t rsa
    

    按照提示输入密钥对的保存路径和密码,可以不输入密码。默认情况下生成的密钥对保存在~/.ssh/目录下,私钥文件为id_rsa,公钥文件为id_rsa.pub

  2. 将本地机器的公钥拷贝到远程机器的~/.ssh/authorized_keys文件中,以实现ssh密钥认证:

    ssh-copy-id -i ~/.ssh/id_rsa.pub remote_user@remote_host
    

    其中,remote_user是远程机器的用户名,remote_host是远程机器的主机名或IP地址。执行此命令后,需要输入远程机器的密码。

  3. pdsh的配置文件/etc/dsh/dsh.conf(须自己创建)中添加ssh密钥认证的配置:

    # Use ssh as the rcmd module.
    dsh:
        rcmd: ssh
        # ssh options.
        ssh_options: -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null -i /
    

​ 4.多个远程一起运行

​ 在hosts.txt中添加ip,再运行对应的6.2步骤即可。

  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值