Como um serviço Linux (Jenkins) pode obter um Kerberos TGT na inicialização?

0

Estou executando o CentOS 7.3 em vários hosts do Linux. O Kerberos está configurado para facilitar o Single Sign On para SSH. Quando rodando como meu usuário humano, eu posso usar o SSH de uma maneira sem senha sem problemas.

Eu tenho Jenkins instalado nesta máquina. Os trabalhos Jenkins que executo tentam executar comandos em hosts remotos via SSH (esses trabalhos são executados diretamente no mestre Jenkins; eles não são fornecidos a escravos Jenkins). Infelizmente, essas tarefas remotas não são executadas porque o usuário do Linux (chamado jenkins ) executa essas tarefas, pois não possui um Kerberos TGT após o início do serviço Jenkins. Portanto, esse usuário não pode autenticar para o host remoto para executar o comando remoto. Isso foi determinado criando um trabalho que simplesmente lista os tickets possuídos:

#!/bin/bash

klist

Isso fornece essa saída semelhante a:

klist: Credentials cache keyring 'persistent:1138460974:krb_ccache_JWNORv4' not found

Como posso fazer com que o usuário do jenkins sempre tenha um TGT durante a execução de trabalhos?

    
por Dave 17.07.2018 / 18:23

0 respostas