[英]how to run docker commands in remote machine via jenkins and SSH?
[英]jenkins build - using ssh agent module - not able to run full set of commands on target machine
我正在尝试使用jenkins中的ssh代理模块以我的身份登录到远程计算机...并运行一些lxc命令。 我没有任何错误登录,但是...根据我运行的命令,我得到的结果是不同的,或者权限被拒绝。
此pastebin将向您显示我从詹金斯获得的输出http://pastebin.com/VxPHYzf9
在示例1中,我尝试运行lxc命令,但失败。 在示例2中,我运行rc-status,期望看到正在运行的容器的列表,但是却得到了完全不同的东西。
到目前为止,我已经尝试过:
当我以“ johndoe”用户手动ssh进入lxc主机时,我能够运行两个命令都没有问题。 我还“观察了” lxc上的日志文件,该文件显示了谁正在登录的ssh指纹...并且我可以看到,当jenkins完成构建时,它以“ johndoe”身份登录。
我创建了一个“詹金斯”用户/ SSH密钥对,并尝试使用它。 我得到相同的结果。
我尝试的上次测试(未在pastebin中显示)只是在lxc主机的tmp文件夹上运行“ ls -lah”,我知道我有一些bash文件。
当我更改生成以运行以下命令时:
whoami
ssh -AtT root@10.111.11.11
ls -lah /tmp/*.sh
我得到的这些结果再次是完全错误的:
+ whoami
jenkins
+ ssh -AtT root@10.111.11.11
********************************* ATTENTION **********************************
* Unauthorized access prohibited. Activity is logged. *
******************************************************************************
15:13:25 up 23 days, 19:33, 0 users, load average: 0.11, 0.07, 0.11
+ ls -lah /tmp/hudson3065491328414451721.sh
-rw-r--r-- 1 jenkins jenkins 52 Jun 10 11:13 /tmp/hudson3065491328414451721.sh
[ssh-agent] Stopped.
Finished: SUCCESS
我至少有3个sh文件...而且我不知道hudson * .sh文件是什么。
最终,我需要Jenkins能够登录到lxc主机并运行一堆命令,这是我构建的一部分。
任何帮助,将不胜感激。
我还将尝试将构建版本ssh放入另一台计算机,以查看是否获得了不同的结果。
我想到了。
看来我的错误是将我用于远程服务器的所有shell命令放在单独的行上。 因此,例如,在构建“ Execute Shell”文本框中,我有类似以下内容:
ssh -A root@10.1.1.1
whoami
ls -lah /tmp/*.sh
它正在做的是登录到远程服务器,然后在我的LOCAL jenkins服务器上运行其他两个命令。
所以我将shell命令更改为如下形式:
ssh- A root@10.1.1.1 'ls -lah'
现在它正在工作。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.