Ansible 远程“用户:”;公司{{env}};它不起作用了

Ansible 远程“用户:”;公司{{env}};它不起作用了,ansible,ansible-inventory,Ansible,Ansible Inventory,当我使用(remote_user:“company_{{{env}}}”)连接远程主机时,playbook执行抛出错误: 致命:[主机名]:无法访问!=>{“changed”:false,“msg”:无法通过ssh连接到主机:权限被拒绝 注意:当我将其更改为(remote_user:company_prod)时,它可以正常工作 我希望用户在执行时传递“env”变量值。在主机文件中,我已经按照env列出了服务器 --- - hosts: "{{env}}" remote_user: "comp

当我使用(remote_user:“company_{{{env}}}”)连接远程主机时,playbook执行抛出错误: 致命:[主机名]:无法访问!=>{“changed”:false,“msg”:无法通过ssh连接到主机:权限被拒绝

注意:当我将其更改为(remote_user:company_prod)时,它可以正常工作

我希望用户在执行时传递“env”变量值。在主机文件中,我已经按照env列出了服务器

---
- hosts: "{{env}}"
  remote_user: "company_{{env}}"
  gather_facts: no
问题是:是否有任何方法可以通过将变量与字符串连接起来使其工作


感谢您的帮助,谢谢。

env的值是多少…作为对上述问题的补充:如何设置
env
?您是否调试了playbook中的
remote\u用户
var以验证是否包含预期值?@smily,env的值是一个字符串,它可以是'uat'或'prod'“此线路用于连接远程主机"-你指的是哪一行?你在哪里传递env?prod是服务器的名称吗?因为我刚刚和一个类似的用户一起测试过,当变量通过额外的-vars@Zeitounator,env未设置,但在执行playbook时作为参数传递。是的,我进行了调试,但它没有预期值。预期值为当我将'prod'作为env变量中的值传递时,值为'company_prod'。'prod'在主机文件中有远程prod节点列表。
[uat]
uat1
uat2
[prod]
prod1
prod2