gerando ssh-keys para um usuário não root com salt

2

Eu preciso gerar ssh-keys (par público / privado) para um usuário dizer helen. Este usuário já está em todos os meus minions de sal. Como faço para gerar chaves ssh para este usuário do meu mestre de sal?

Para o usuário root, eu gerava as chaves usando este comando e funcionava bem:

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

Eu posso emitir o seguinte comando que pode gerar ssh-keys para helen; mas as permissões e propriedades serão diferentes; Então, é necessário emitir comandos novamente para corrigir permissões e propriedades:

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

Existe alguma maneira em sal para executar este comando como usuário helen em vez de root?

Em geral, existe uma maneira de sal executar um comando como um usuário não root?

    
por Ajo Augustine 17.12.2014 / 11:10

1 resposta

3

Usando o comando salt

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

link

Usando um estado

Você pode especificar o usuário ao usar o estado cmd definindo o runas como o nome de usuário para executar o comando como:

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

link

    
por 17.12.2014 / 12:38