詹金斯| ssh无法正常工作

时间:2017-04-19 09:30:58

标签: linux bash

我正在通过运行shell脚本向服务器执行ssh服务,该服务器通过jenkins服务器向/tmp/san.txt中的这些服务器进行无密码验证。

jenkins@pc4mobjen01:/tmp> cat check.sh
#!/bin/bash
for i in `cat /tmp/sand.txt`
do
ssh -q mpdevops@"$i"
bash /app/home/mpdevops/sand.sh
done


jenkins@pc4mobjen01:/tmp> bash check.sh
Last login: Wed Apr 19 09:20:03 2017 from 10.4.70.42
 Powered by Monsoon (Version 2.2.1519)         Platform: suse 11.3
 Hostname     : mo-97df9aafa.dc19.saas.sap.cor Name    : PC19MOBDEVOPS01
 Organization : saas_prod                      Project : dc19_production
 Url          : https://monsoon.mo.sap.corp/instances/mo-97df9aafa
mo-97df9aafa[PC19MOBDEVOPS01]:~ # logout
bash: /app/home/mpdevops/sand.sh: No such file or directory

但是sand.sh存在。

mo-97df9aafa[PC19MOBDEVOPS01]:~ # cat sand.sh
for j in `cat sand.txt`
do
ssh -q mpdevops@"$j"
sudo python /tmp/test.py
done

请帮忙。

2 个答案:

答案 0 :(得分:0)

尝试在与实际ssh命令相同的行上输入要在远程客户端上执行的命令。看起来bash命令正在本地主机上执行而不是客户端。

答案 1 :(得分:0)

您应该使用sand.sh命令在同一行上运行ssh

check.sh 应为:

#!/bin/bash
for i in `cat /tmp/sand.txt`
do
ssh -q mpdevops@"$i" "bash /app/home/mpdevops/sand.sh"
done