Сценарий
Я пытаюсь настроить свой s sh Jumphost с ansible.
У нас есть несколько пользователей, которые подключаются к Jumphost (со своими собственными sh -pubkey) и перенаправляются с помощью принудительной команды в файле author_keys (на jumohost) на целевой сервер. Пользователь на Jumphost соответствует имени сервера назначения.
Например:
Пользователь:
ssh server1@jumphost
файл author_keys для пользователь server1 на Jumphost выглядит следующим образом:
command="sh -c 'ssh -l DEST-USER DEST-HOST ${SSH_ORIGINAL_COMMAND:-}'" ssh-rsa ZZZZZ
например: command="sh -c 'ssh -l peter server1 ${SSH_ORIGINAL_COMMAND:-}'" ssh-rsa pubkeypeter
S sh -подключатель от peter и от jumphost также перечислены в peters useraccount на сервере назначения.
Схема подключения
Ansible Настройка (пока)
Playbook:
---
- hosts: jumphost
remote_user: root
tasks:
- name: Read variables
include_vars:
dir: 'vars'
files_matching: '^jumphost_.*\.yml'
- name: Deploy SSH-Keys to server1
authorized_key:
user: server1
key: "{{server1_users|map(attribute='sshkey')|join('\n') }}"
exclusive: true
- name: Deploy SSH-Keys to server2
authorized_key:
user: server2
key: "{{ server2_users|map(attribute='sshkey')|join('\n') }}"
exclusive: true
Файл vars / jumphost_server1.yml:
---
server1_users:
- name: Peter Foo
sshkey: ssh-rsa AAAABPetersPubkey
dest_user: peter
- name: John Foo
sshkey: ssh-rsa AAAABJohnsPubkey
dest_user: john
Это прекрасно работает и без проблем. Сгенерированный файл author_keys на Jumphost выглядит так:
ssh-rsa AAAABPetersPubkey
ssh-rsa AAAABJohnsPubkey
проблема
Мне нужно некоторое содержимое stati c и переменная dest_user
для каждого ключа, который будет записан в авторизованных ключах файл, чтобы он выглядел как в примере выше.
Я знаю, что могу добавить свои параметры в переменную sshkey
, но это не совсем то, что я хочу. Мне нужно выделить эту опцию отдельно.
Заранее спасибо за вашу помощь. Я довольно новичок в ansible и сейчас пытаюсь разобраться.