Ajo*_*ine 4 linux ssh-keys saltstack
我需要为用户 helen 生成 ssh 密钥(公共/私有对)。该用户已经在我所有的盐奴中了。如何从我的 salt master 为该用户生成 ssh 密钥?
对于 root 用户,我使用此命令生成了密钥,效果很好:
salt '*application-server-*' cmd.run "ssh-keygen -q -N '' -f /root/.ssh/id_rsa"
Run Code Online (Sandbox Code Playgroud)
我可以发出以下命令,为 helen 生成 ssh 密钥;但权限和所有权会不同;因此需要再次发出命令来更正权限和所有权:
salt '*application-server-*' cmd.run "ssh-keygen -q -N '' -f /home/helen/.ssh/id_rsa"
Run Code Online (Sandbox Code Playgroud)
salt 有没有办法以用户 helen 而不是 root 的身份运行此命令?
一般来说,salt 有没有办法以非 root 用户身份运行命令?
salt
命令salt '*application-server-*' cmd.run \
"ssh-keygen -q -N '' -f /home/helen/.ssh/id_rsa" \
runas=helen
Run Code Online (Sandbox Code Playgroud)
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
Run Code Online (Sandbox Code Playgroud)
http://docs.saltstack.com/en/latest/ref/states/all/salt.states.cmd.html#salt.states.cmd.run
归档时间: |
|
查看次数: |
5456 次 |
最近记录: |