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


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.