ユーザーがhelenと言うためにssh-keys(パブリック/プライベートペア)を生成する必要があります。このユーザーはすでに私のすべてのソルトミニオンにいます。ソルトマスターからこのユーザーのsshキーを生成するにはどうすればよいですか?
Rootユーザーの場合、このコマンドを使用してキーを生成しましたが、正常に機能しました。
salt '*application-server-*' cmd.run "ssh-keygen -q -N '' -f /root/.ssh/id_rsa"
Helenのsshキーを生成できる次のコマンドを発行できます。ただし、権限と所有権は異なります。したがって、権限と所有権を修正するには、コマンドを再度発行する必要があります。
salt '*application-server-*' cmd.run "ssh-keygen -q -N '' -f /home/helen/.ssh/id_rsa"
このコマンドをrootではなくユーザー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
http://docs.saltstack.com/en/latest/ref/states/all/salt.states.cmd.html#salt.states.cmd.run