Eu tentei uma série de maneiras de executar o kick de forma confiável, mas não consegui e ele está obsoleto de qualquer maneira, então mudei para o puppetssh. Isso exigia a configuração das chaves SSH do proxy inteligente, o usuário do contramestre e seus direitos sudo. Não há muita documentação sobre este método de execução de marionetes e o registro DEBUG em foreman-proxy não inclui nenhuma saída de comando, então era difícil dizer onde / como algo estava falhando.
Por padrão, o usuário do contramestre-proxy não tem um shell (no RHEL) e não seria capaz de executar o / usr / bin / ssh. Um simples usermod -s / bin / bash fez o truque, mas isso parece ser um risco de segurança para mim. Além disso, diferentes direitos de sudo são necessários para executá-lo, então eu tive que mudar foreman-proxy ALL = NOPASSWD: / usr / bin / chute de boneco para foreman-proxy ALL = NOPASSWD: / usr / bin / ssh . Depois disso, foi apenas uma questão de configurar o comando ssh.
No meu caso, implantamos uma conta de usuário e chaves SSH para executar comandos Puppet com o sudo em máquinas clientes. Eu copiei a chave privada para algum lugar que o foreman-proxy poderia usar (por exemplo: / etc / foreman-proxy / puppetssh / id_rsa) e configurei os parâmetros puppetssh em /etc/foreman-proxy/settings.yml assim:
:puppetssh_command: /usr/bin/sudo /usr/bin/puppet agent -t --no-usecacheonfailure
:puppetssh_user: puppetssh
:puppetssh_keyfile: /etc/foreman-proxy/puppetssh/id_rsa