刀ssh包含sudo和提示输入密码
问题描述:
我正在使用调用刀ssh的执行资源。唯一的问题是,如果没有使用sudo,sudo被引入root的密码被请求并且cookbook不会收敛,它工作正常。需要帮助:刀ssh包含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
...
经过厨师的客户端运行(作为詹金斯建),它会提示以下内容并没有收敛,因为密码不把时间: 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
...
厨师客户端运行后,字符串Hi
存储在/tmp/output.txt
注: 如果须藤被排除,那么收敛发生。是否可以包含sudo
,并且无需输入密码即可达到收敛。
答
我建议你创建/使用另一个用户并为该用户生成一个SSH密钥对以供使用。然后,如果你需要root权限,你可以给用户所需的权限。
为什么你使用厨师食谱代码来调用'knife ssh'?这是一件非常奇怪的事情。 – coderanger
@coderanger一旦Jenkins构建启动,这个厨师食谱将运行'execute'资源块。这是一种不好的做法吗? – srajappa