如何为通过ansible.builtin.add_host添加的主机指定SSH私钥?
为ansible.builtin.add_host添加的主机指定SSH私钥路径的方法
你可以直接在ansible.builtin.add_host任务中,通过设置主机变量ansible_ssh_private_key_file来指定SSH私钥路径,这是Ansible用于定义SSH私钥的标准变量,对静态清单和动态添加的主机都适用。
示例Playbook任务
- name: 将新主机添加到内存清单 ansible.builtin.add_host: name: new_host_01 ansible_host: 192.168.1.200 # 主机的IP地址或域名 ansible_user: deploy # 登录主机的用户 ansible_ssh_private_key_file: /opt/keys/deploy_key.pem # SSH私钥的绝对路径 groups: dynamic_servers # 把主机加入指定组,方便后续play调用
注意事项
- 私钥路径建议使用绝对路径,避免因控制节点工作目录变化导致路径失效;如果用相对路径,是相对于Ansible执行时的当前工作目录。
- 如果需要给一组动态添加的主机统一设置私钥,也可以在后续针对该组的play中通过
vars字段定义,或者在add_host时通过group_vars参数设置组级变量。
内容的提问来源于stack exchange,提问作者Trevor Sullivan
相关产品推荐
相关产品推荐

