4

我对 Rundeck 很陌生,并且正在评估它作为 Jenkins 的替代品来运行我们的临时操作任务。

我们在 Rundeck 服务器上有所有需要以特定用户身份运行的命令和脚本,例如:ubuntu。

我尝试在/etc/rundeck/framework.propertiesframework.ssh.user=ubuntu)和/var/rundeck/projects/myproject/etc/resources.xml (为 localhost 节点设置username="ubuntu" )等地方更改配置) 但无论如何我的工作总是以用户“rundeck”的身份运行,这非常令人沮丧,因为起初我认为实现这一目标应该很简单。

那么,我是否遗漏了某些东西,或者 Rundeck 无法以与“rundeck”不同的用户身份在本地运行脚本?

更新:我现在找到了一个解决方案,那就是使用脚本步骤,然后在高级选项调用字符串中我可以设置为“sudo -u ubuntu”,这样我的脚本就可以从 rundeck 作为 ubuntu 运行。

但是,使用该 sudo 仍然不是很方便,例如环境变量保留问题。

4

2 回答 2

0

@Arcobaleno,您必须分派到 rundeck 服务器才能使用 ssh 设置。“本地命令”或未调度的命令步骤使用作为插件点的本地节点执行器。您可以创建一个本地节点执行程序来隐式地向您想要的用户执行 sudo 并运行该命令。

于 2016-07-29T15:26:11.840 回答
0

您需要从本地主机 ssh 到本地主机(将本地主机伪装成远程服务器)。

IE

[ubuntu]$ ssh ubuntu@xx.xx with passwordless ssh. 

复制id_rsa.pub~/.ssh/authorized_keys. (id_ras.pub存储在默认位置/var/lib/rundeck/.ssh/id_rsa.pub.)。

然后你可以使用你的 ubuntu 环境来运行你的程序。

这对我有用。

于 2017-04-09T09:56:35.393 回答