刀具引导命令没有提示密码

HRM*_*HRM 4 chef-infra knife

我正在尝试编写一个bash脚本,其中包含使用命令引导Ubuntu客户机节点的knife命令.当我执行脚本时,knife命令询问客户端节点的sudo密码,一旦我输入密码,它就按预期工作.但我正在寻找一种没有提示密码的自动方式.这是我用于引导的命令.

knife bootstrap <IP_ADDRESS> -x <USER_NAME> -P <PASSWORD> --sudo 
Run Code Online (Sandbox Code Playgroud)

检查后,刀引导文件,我也试过给ssh-password也如下,但结果相同.

knife bootstrap <IP_ADDRESS> --ssh-user <USER_NAME> --ssh-password <PASSWORD> --sudo
Run Code Online (Sandbox Code Playgroud)

这个命令可能有什么问题.我期待刀命令自动登录到客户端和引导程序,但它的要求就像,

<IP_ADDRESS> knife sudo password:
 Enter your password:
Run Code Online (Sandbox Code Playgroud)

有任何想法吗??

小智 5

通过doc查看,这可能是您需要的参数:

--use-sudo-password
Run Code Online (Sandbox Code Playgroud)

虽然文档似乎暗示将使用的密码与ssh操作相同,但我不知道在您的情况下这是否足够.

参考:https://docs.chef.io/knife_bootstrap.html#knife-bootstrap-options


HRM*_*HRM 3

这就是我完成这项工作的方式。

echo <SSH_PASSWORD> | knife bootstrap <IP_ADDRESS> -x <USER_NAME> -P <PASSWORD> --sudo
Run Code Online (Sandbox Code Playgroud)

  • 如果您这样做,请确保关闭您的 bash 历史记录,否则人们可以检索您的密码。http://stackoverflow.com/questions/6475524/making-sure-commands-dont-show-up-in-bash-history (3认同)