我正在使用一个调用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
并且仍然可以在不必输入密码的情况下实现收敛的方式。
答案 0 :(得分:0)
我建议您创建/使用其他用户并为该用户生成一个SSH密钥对。然后,如果您需要root权限,则可以为用户提供所需的权限。