在第一个sshpass被执行后,无法执行sshpass命令

时间:2016-11-11 23:41:58

标签: bash ssh sshpass

我正在尝试ssh到每个主机运行一些命令,完成后。需要运行第二个和第三个sshpass命令。但是,它只运行第一个命令,然后在第二个和第三个sshpass命令处停止。这是我的示例脚本。 我称之为sshHostName.sh脚本,脚本包含

/usr/bin/sshpass -p 'myPassword' ssh root@hostName1 "echo 'hello1'"
/usr/bin/sshpass -p 'myPassword' ssh root@hostName2 "echo 'hello2'"
/usr/bin/sshpass -p 'myPassword' ssh root@hostName3 "echo 'hello3'"

对于这个例子,我在运行./sshHostName.sh

后才看到hello1

如果在上一个命令完成后运行下一个(sshpass)命令?

感谢。

1 个答案:

答案 0 :(得分:1)

我发现我需要把这个选项放在那里:-o StrictHostKeyChecking = no

/usr/bin/sshpass -p 'myPassword' ssh -o StrictHostKeyChecking=noroot@hostName1 "echo 'hello1'"
/usr/bin/sshpass -p 'myPassword' ssh -o StrictHostKeyChecking=noroot@hostName2 "echo 'hello2'"
/usr/bin/sshpass -p 'myPassword' ssh -o StrictHostKeyChecking=noroot@hostName3 "echo 'hello3'"

所以它正在发挥作用!