knife ssh包含sudo并提示输入密码
knife ssh contains sudo and prompts for password
我正在使用调用 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> knife 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
并且无需输入密码仍能达到收敛的方法吗?
我建议您创建/使用另一个用户并生成 SSH 密钥对供该用户使用。然后,如果您需要 root 权限,您可以只为用户提供所需的权限。
我正在使用调用 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> knife 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
并且无需输入密码仍能达到收敛的方法吗?
我建议您创建/使用另一个用户并生成 SSH 密钥对供该用户使用。然后,如果您需要 root 权限,您可以只为用户提供所需的权限。