2

我为项目配置了 privateKey 身份验证。我有服务器和一个节点,我可以在其中运行不需要 sudo 的所有操作。在节点上我有用户test,他可以使用 sudo 运行命令。我正在使用此用户从节点上的服务器运行作业。当我运行作业时,我从节点得到响应,我需要输入密码以进行用户测试。rundeck 中有配置,可以自动执行此过程。这是我的 project.properties 文件的外观:

#Project Test configuration, generated
#Tue Dec 08 10:52:45 UTC 2015
project.name=Test
resources.source.1.config.requireFileExists=false
project.ssh-authentication=privateKey
resources.source.1.config.includeServerNode=true
resources.source.1.config.generateFileAutomatically=true
resources.source.1.config.format=resourcexml
resources.source.1.config.file=/home/vagrant/projects/Test/etc/resources.xml
project.ssh-keypath=/opt/test/keys/test_prv_key
project.description=Test project
resources.source.1.type=file
sudo-command-enabled=true
sudo-password-storage-path=/home/vagrant/var/storage/content/keys/test.password
sudo-prompt-pattern='^\[sudo\] password for .+:.*'

问题是,rundeck 与 sudo 命令的模式不匹配,并且在询问密码后 3 秒内连接断开。

更新。没有找到解决方案,因此让用户无需密码即可访问 sudo(sudoers 中的 NOPASSWD)

4

2 回答 2

1

我遇到了类似的问题,在尝试了文档中指定的每种配置选项组合后,我放弃了并改用了这个 hack:

echo @option.sudoPassword@ | sudo -S my_command
于 2016-12-09T11:24:38.670 回答
1

尝试在“/etc/rundeck/project.properties”中应用以下配置

    project.sudo-command-enabled=true
    project.sudo-command-pattern=^sudo$
于 2017-05-25T22:05:01.973 回答