我使用privateKey身份验证配置项目。我有服务器和一个节点,我可以运行所有操作,不需要sudo。在节点上我有用户测试,谁可以用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命令的模式不匹配,并且在询问密码后连接在3s内被删除。
UPD。 没有找到解决方案,因此允许用户访问没有密码的sudo(sudoers中的NOPASSWD)
答案 0 :(得分:1)
我遇到了类似的问题,在尝试了文档中指定的每个组合选项后,我放弃了并使用了这个hack:
echo @option.sudoPassword@ | sudo -S my_command
答案 1 :(得分:1)
尝试在“/etc/rundeck/project.properties”中应用以下配置
project.sudo-command-enabled=true
project.sudo-command-pattern=^sudo$