我对Rundeck很陌生,并且正在评估它作为Jenkins的替代品来运行我们的特殊操作任务。
我们拥有所有命令和Rundeck服务器上需要以特定用户身份运行的脚本,例如:ubuntu。
我尝试在某些地方更改配置,例如 /etc/rundeck/framework.properties ( framework.ssh.user = ubuntu )和 / var / rundeck /projects/myproject/etc/resources.xml (设置用户名=" ubuntu" 用于localhost节点)但我的工作总是以用户' rundeck&运行#39;,起初非常令人沮丧,我认为实现这一目标应该很简单。
所以,我错过了什么或者Rundeck不能在本地运行脚本作为不同的用户来运行'?
更新: 我现在找到了一个解决方案,那就是使用脚本步骤,然后在高级选项调用字符串中我可以设置为" sudo -u ubuntu"为此,我的脚本从rundeck以ubuntu运行。
然而,使用该sudo仍然不太方便,例如环境变量保留问题。
答案 0 :(得分:0)
@Arcobaleno您必须调度到rundeck服务器才能使用ssh设置。未调度的“本地命令”或命令步骤使用作为插件点的本地节点执行器。您可以创建一个本地节点执行程序,以隐式sudo给您想要的用户并运行命令。
答案 1 :(得分:0)
您需要从localhost ssh到localhost(假装localhost作为远程服务器)。
即。
[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环境运行你的程序。
这适合我。