Я пытаюсь использовать Kerberos для входа на удаленный сервер с помощью плагина Gradle S SH, но по какой-то причине он не работает. У меня есть 2 разных сценария ios, один для разработчиков (использующий kerberos) и один для CI-сервера (использующий ключ аутентификации publi c). Настройка S SH в Gradle выглядит следующим образом:
remotes {
proj {
host = 'XXX'
user = System.getProperty("user.name")
}
}
ssh.settings {
authentications = ["publickey","gssapi-with-mic"]
jschLog=true
}
ssh.run {
session(remotes.proj) {
...
Во время работы я получаю следующий вывод:
11:27:49.303 [DEBUG] [org.hidetake.groovy.ssh.connection.JSchLogger] [jsch] Authentications that can continue: publickey,gssapi-with-mic
11:27:49.303 [DEBUG] [org.hidetake.groovy.ssh.connection.JSchLogger] [jsch] Next authentication method: publickey
11:27:49.304 [DEBUG] [org.hidetake.groovy.ssh.connection.JSchLogger] [jsch] Authentications that can continue: gssapi-with-mic
11:27:49.304 [DEBUG] [org.hidetake.groovy.ssh.connection.JSchLogger] [jsch] Next authentication method: gssapi-with-mic
11:27:49.331 [DEBUG] [org.hidetake.groovy.ssh.connection.JSchLogger] [jsch] Disconnecting from XXX port 22
...
11:27:49.338 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter] * What went wrong:
11:27:49.338 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter] Execution failed for task ':project:task'.
11:27:49.338 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter] > com.jcraft.jsch.JSchException: Auth fail
Но когда я пытаюсь войти в систему, используя s sh напрямую, это работает:
You are connected to: XXX
debug1: Authentications that can continue: publickey,gssapi-with-mic,password,keyboard-interactive
debug1: Next authentication method: gssapi-with-mic
debug1: Delegating credentials
debug1: Delegating credentials
debug1: Authentication succeeded (gssapi-with-mic).
Authenticated to XXX
Есть идеи, что мне делать? Похоже, что плагин gradle-s sh не поддерживает gssapi-with-mi c. Конечно, я мог бы переписать код, чтобы вместо него использовать простой s sh в качестве скрипта.