Ansible динамически добавляет прокси-сервер, затем использует прокси-сервер для входа в систему на машине за ним, без ssh_config - PullRequest
0 голосов
/ 31 октября 2019

ТАК Я хотел бы предоставить прокси-хост (я могу это сделать), добавить его в динамический ANSI-инвентарь с помощью add_host (сделано),

Затем в следующей игре запустить задачи на этом прокси-host, чтобы найти другую машину за ней, обновить что-нибудь ответное, чтобы узнать местоположение этого нового хоста, и что он должен быть перескочен через прокси через этот текущий прокси-хост,

Затем в следующей цели воспроизведения этот новыймашина за прокси-хостом.

Я в растерянности, я надеялся сделать это без всех этих изменений ssh_config ... это возможно, кто-нибудь делал это, мысли?

1 Ответ

0 голосов
/ 10 ноября 2019

У меня есть ответ на мой вопрос. Я думаю, что это совершенно правильный вопрос, и много документации от Ansible частично отвечает на этот вопрос, он не рассматривается как динамический, и при этом не утверждается, что это может быть сделано полностью динамически.

Предлог: Использование terraform в рамках ansible для генерации хостов со следующей конфигурацией: control_box (выполняется ansible / terraform from) ----> динамически создаваемый Bastion / proxy / jump_host ---> some_server (за бастионом)

Playbook:

#Make the bastion host, and add it to the just_created group
- hosts: 127.0.0.1
  roles:
  - terraform_logic_add_host_logic 

- hosts: just_created #aka bastion
  tasks:
  - name: Include task list in play
    include: "get_the_private_ip_and_add_to_behind_bastion_group.yml"

  # Login into behind_bastion group.....
  - hosts: behind_bastion_group
  vars:
  - ansible_connection: ssh
  - ansible_ssh_common_args: '-o ProxyCommand="ssh -i {{ some_pem_key }} -o StrictHostKeyChecking=no -W %h:%p -q ec2-user@{{ the_bastion_ip }}"'
  tasks:
    - name: Include task list in play
      include: "do_stuff_finally.yml"

Я также провел свое исследование. К вашему сведению: подобные посты не показывают полного решения End2End, делающего все это динамически ...

https://blog.scottlowe.org/2015/12/24/running-ansible-through-ssh-bastion-host/

Возможно с бастионным хостом / прыжковой коробкой?

https://selivan.github.io/2018/01/29/ansible-ssh-bastion-host.html

...