knife ssh包含sudo并提示输入密码

时间:2017-09-12 19:57:58

标签: chef sudo knife

我正在使用一个调用knife ssh的执行资源。唯一的问题是,如果没有使用sudo,它的工作正常,sudo被引入的时刻要求root的密码,并且菜谱不会收敛。需要帮助:

当前状态

...    
execute 'command' do
           command "knife ssh 'name:mynode' -x user123 -i '/tmp/user123.pem' -a ipaddress 'sudo echo Hi > /tmp/output.txt;'"
            live_stream true
end
...

在运行chef-client之后(作为Jenkins Build),它会提示以下内容并且不会收敛,因为密码未放入: MYNODE>刀sudo密码:

所需状态

...    
execute 'command' do
               command "knife ssh 'name:mynode' -x user123 -i '/tmp/user123.pem' -a ipaddress 'sudo echo Hi > /tmp/output.txt;'"
                live_stream true
end
...

运行chef-client后,字符Hi存储在/tmp/output.txt

注意: 如果排除 sudo ,则会发生收敛。这是一种我们可以包含sudo并且仍然可以在不必输入密码的情况下实现收敛的方式。

1 个答案:

答案 0 :(得分:0)

我建议您创建/使用其他用户并为该用户生成一个SSH密钥对。然后,如果您需要root权限,则可以为用户提供所需的权限。