Відповідь - доступ через Бастіон без МЗС


9

У моєму теперішньому середовищі я маю доступ до всіх моїх серверів Linux лише через хост бастіону, у якого включена MFA.

Мені вдалося отримати Ansible для успішного спілкування з серверами через бастіон, єдина проблема полягає в тому, що він встановлює нове з'єднання з бастіоном для кожного хоста, тобто я повинен ввести стільки ключів MFA, скільки у мене є серверів. Погані часи. :(

Я намагався возитися з такими речами в моїй конфігурації ssh, щоб спробувати налагодити мультиплексування:

Host bastion
  ControlMaster auto
  ControlPath ~/.ssh/ansible-%r@%h:%p
  ControlPersist 5m

На жаль, це, схоже, не робиться. Хто-небудь отримав поради, як я можу зупинити Ansible, щоб відновити його зв'язок через мій хост-бастіон для кожного хоста, який він торкнеться?

Дякую!


Можливо, вам вже траплялося, але ... Якщо ваш бастіон-хост дозволяє регулярно отримувати доступ до входу, а не просто переадресовувати пакет, а ваш ansible config не містить величезного обсягу файлів, ви можете спробувати просто запустити конфігурацію безпосередньо з бастіону .
Парфянський розстріл

Не обов'язково від бастіонного хоста, але це може бути будь-який хост в одному середовищі. Ми виділили власників управління Ansible. Це гарантує, що користувачі не мають дивної конфігурації Ansible або непідтримуваної версії Ansible. Також це значно підвищує швидкість роботи програвача.
Udondan

(Я не знаю, що таке МЗС) Чи ввімкнули ви ForwardAgentв конфігурації ssh свою робочу станцію (а не бастіон)
Baptiste Mille-Mathias

Відповіді:


1

Я щойно наткнувся на цю публікацію в блозі про те, що працює Ansible з хостом-бастіоном .

Мабуть, вам потрібно додати хост бастіону до хосту керування ssh_config:

Host 10.10.10.*
  ProxyCommand ssh -W %h:%p bastion.example.com
  IdentityFile ~/.ssh/private_key.pem

Host bastion.example.com
  Hostname bastion.example.com
  User ubuntu
  IdentityFile ~/.ssh/private_key.pem
  ControlMaster auto
  ControlPath ~/.ssh/ansible-%r@%h:%p
  ControlPersist 5m

Редагування ssh_argsв в ansible.cfg:

[ssh_connection]
ssh_args = -F ./ssh.cfg -o ControlMaster=auto -o ControlPersist=30m control_path = ~/.ssh/ansible-%%r@%%h:%%p

Це повинно приховати bastionчастину конфігурації. Для MFAчастини деяких користувачів в цьому емісійному GitHub стверджує , що можна використовувати SSH сесію в анзібле відкриваються за межі анзібля.

Я відкриваю початкове з'єднання з хостом, який має 2FA, потім в іншому вікні запускаю щось на кшталт:

ansible-playbook thing.yml --ssh-common-args='-o ControlPath=~/.ssh/connshare'

Я не маю під рукою налаштування хостів у бастіоні, але я думаю, що цю стратегію варто спробувати.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.