Я должен генерировать 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?
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