我对 knife ssh 命令感到困惑。根据文档,如果您的节点没有设置 FQDN 或 ipaddress 属性,您可以传递 -a
标志。另外,如果您想覆盖这些属性。我运行它是为了在本地虚拟机上测试 knife ssh
:
$ knife ssh "role:webserver" "sudo chef-client" -x someusername -a 192.168.14.141
我收到的错误:
致命:找到 1 个节点,但不具备建立连接所需的属性。尝试使用 --attribute 设置另一个属性来打开连接。
我正在运行Chef 11.4.0
最佳答案
-a
参数实际上表示包含节点 IP 地址的属性名称,如果 node[:fqdn]
或 node[ :ipaddress]
属性未设置。
例如,我安装了 openstack ohai 插件,公共(public) IPv4 地址存储在 node[:openstack][:public_ipv4]
中,我会编写 Knife ssh 命令,如下所示:
$ knife ssh "role:webserver" "sudo chef-client" -x user -a openstack_public_ipv4
其中 openstack_public_ipv4
是与 node[:openstack][:public_ipv4]
属性匹配的搜索属性格式。
关于ssh - Knife SSH 属性不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16038235/