Я использую CentOS 7.3 на нескольких хостах Linux. Kerberos настроен для упрощения единого входа для SSH. Когда я работаю как пользователь, я могу без проблем использовать SSH без пароля.
Я установил Дженкинс на эту машину. Задания Jenkins, которые я запускаю, пытаются выполнить команды на удаленных хостах через SSH (эти задания запускаются непосредственно на ведущем устройстве Jenkins; они не передаются подчиненным Jenkins). К сожалению, эти удаленные задания не выполняются, потому что пользователь Linux (с именем jenkins) запускает эти задания, поскольку не имеет Kerberos TGT после запуска службы Jenkins. Следовательно, этот пользователь не может аутентифицироваться на удаленном хосте для выполнения удаленной команды. Это было определено путем создания задания, которое просто перечисляет имеющиеся билеты:
#!/bin/bash
klist
Это дает этот вывод похож на:
klist: Credentials cache keyring 'persistent:1138460974:krb_ccache_JWNORv4' not found
Как я могу заставить пользователя jenkins всегда иметь TGT при выполнении заданий?