knife ssh命令-X user:如何根据节点平台自动指定用户

时间:2018-04-25 03:05:03

标签: ssh chef knife

我有CentOS和Ubuntu主厨节点,由于操作系统部署过程,其中没有常见的ssh用户名(但是他们确实接受了常见的SSH用户私钥)

因此,为了向他们运行刀ssh,我必须为他们指定不同的用户:

knife ssh "platform:centos" "command" -x userX
knife ssh "platform:ubuntu" "command" -x userY

我怎样才能让刀根据节点平台使用适当的ssh用户名:

knife ssh name:* "command" -x '${node['platform']=='centos'?'userX':'userY'}'

1 个答案:

答案 0 :(得分:0)

你需要比knife ssh更复杂的东西。查看脚本化的SSH客户端,如Fabric,Invoke和Capistrano。或者您可以使用像Ruby的net-ssh这样的低级库(这是knife ssh的基础)。