当我们想要使用 pssh 来并行获取远程计算机的命令输出时,我们可以这样做(例如)
pssh -H presto01 -l root -A -i "hostname"
Warning: do not enter your password if anyone else has superuser
privileges or access to your account.
Password:
[1] 11:55:56 [SUCCESS] presto01
presto01
但是如何做到不输入密码,让密码自动成为lunch呢?
答案1
您可以设置一个服务器和客户端之间基于密码的身份验证。
接下来在服务器上源/导出 ssh-agent
# eval `ssh-agent` ssh-add /root/.ssh/id_rsa
这里我假设我的私钥存储在上面提供的路径 /root/.ssh 下
一旦您提供密码,ssh-agent 将执行无密码连接。现在你可以在不使用“-A”选项的情况下执行 pssh
有关 PSSH 的更多示例(选中将 SSHD 选项与 PSSH 一起使用)
https://www.golinuxcloud.com/pssh-commands-parallel-ssh-linux-examples/
在我的设置中,我配置了无密码配置,并且我更喜欢使用以下附加 sshd 选项进行 pssh
StrictHostKeyChecking=no
GSSAPIAuthentication=no
PreferredAuthentications=publickey
PubkeyAuthentication=yes
答案2
我们可以使用 sshpass
sshpass -p customer pssh -H presto01 -l root -A -i "hostname"