我正在嘗試使用ansible(2.2.1.0)來運行一個healthcheck操作手冊,在兩個堡壘主人的後面。Ansible與多個堡壘主機和ssh密鑰恢復到〜/ .ssh/id_rsa而不是指定的pem文件
我有兩個環境,dev和prod,以及每個環境的兩個SSH密鑰(這是不同的)。每個環境都有一個堡壘主機,您需要首先進入SSH以便連接到該環境中的任何其他主機。問題在於,似乎有道理的人正在爲堡壘主機使用正確的SSH密鑰,但它似乎會恢復爲堡壘盒子後面的任何主機的〜/ .ssh/id_rsa。
我hosts
庫存:
[jumpbox-dev]
DEV-BASTION ansible_ssh_host=XX.XX.XX.XX
[dev]
WEB1 ansible_ssh_host=10.0.0.1
WEB2 ansible_ssh_host=10.0.0.2
[jumpbox-prod]
PROD-BASTION ansible_ssh_host=YY.YY.YY.YY
[prod]
WEB3 ansible_ssh_host=10.0.0.1
WEB4 ansible_ssh_host=10.0.0.2
group_vars
下我有文件:
group_vars
- jumpbox-dev.yml
- dev.yml
- jumpbox-prod.yml
- prod.yml
我healthcheck.yml是
---
- name: Ping all hosts
become: True
hosts:
- jumpbox-dev
- dev
gather_facts: yes
tasks:
- name: Ping
ping:
jumpbox-dev.yml
包含ansible_ssh_private_key_file: /home/myUser/.ssh/id_rsa_dev
,並dev.yml
包含:ansible_ssh_common_args: '-o ProxyCommand="ssh -W %h:%p -q [email protected]"'
在指定的dev.yml ansible_ssh_private_key_file
似乎被忽略,但所有的請求成功,如果我複製到id_rsa_dev
在id_rsa
我/home/myUser/.ssh
文件夾中。將添加到proxycommand似乎也沒有幫助。
有沒有我缺少的配置?它可能與我的目錄結構有關(通過github問題表明它們可能是相關的)?
乾杯!
嘿,謝謝或回覆。我會用不同的名字更新我的原始答案,因爲它們實際上是不同的。我會考慮使用不同的庫存並更新這個,謝謝! – Dio