генерация ssh-ключей для не пользователя root с солью

Я должен генерировать ssh-ключи (общедоступная/частная пара) для пользователя говорят helen. Этот пользователь уже находится во всех моих соленых фаворитах. Как я генерирую ssh ключи для этого пользователя от моего соленого ведущего устройства?

Для пользователя root я генерировал ключи с помощью этой команды, и она хорошо работала:

salt '*application-server-*' cmd.run "ssh-keygen -q -N '' -f /root/.ssh/id_rsa"

Я могу дать следующую команду, которая может генерировать ssh-ключи для helen; но полномочия и владения будут отличаться; так должен дать команды снова для исправления полномочий и владений:

salt '*application-server-*' cmd.run "ssh-keygen -q -N '' -f /home/helen/.ssh/id_rsa"

Есть ли какой-либо путь в соли для выполнения этой команды как пользователя helen вместо корня?

В целом существует ли путь в соли для выполнения команды как не пользователя root?

2
задан 17 December 2014 в 12:10
1 ответ

Использование команда salt

salt '*application-server-*' cmd.run \
    "ssh-keygen -q -N '' -f /home/helen/.ssh/id_rsa" \
    runas=helen

http://docs.saltstack.com/en/latest/ref/modules/all/salt.modules.cmdmod.html#salt.modules.cmdmod.run

Использование состояния

Вы можете указать пользователя при использовании состояния cmd , установив для runas имя пользователя, чтобы запустить команду как:

generate_ssh_key_helen:
  cmd.run:
    - name: ssh-keygen -q -N '' -f /home/helen/.ssh/id_rsa
    - runas: helen
    - unless: test -f /home/helen/.ssh/id_rsa

http: // docs .saltstack.com / en / latest / ref / states / all / salt.states.cmd.html # salt.states.cmd.run

3
ответ дан 3 December 2019 в 10:44

Теги

Похожие вопросы