Настройка узла Jenkins: ключ SSH для этого хоста не соответствует ключу, необходимому в конфигурации соединения - PullRequest
0 голосов
/ 31 октября 2019

Я пытаюсь настроить мой второй узел Дженкинса. Jenkins Master - это Linux, а узел - Windows, использующий Cygwin OpenSSH. Текущая конфигурация для узла - это стратегия проверки ключа вручную. Предоставленный ключ - это id_rsa.pub из узла Windows, а используемые учетные данные хранят закрытый ключ от мастера jenkins. Я могу SSH входить и выходить из узла от пользователей jenkins. При попытке запустить агент, он открывает соединение, затем «ключ SSH для этого хоста не соответствует ключу, необходимому в конфигурации соединения. Соединения будут запрещены, пока ключ хоста не совпадет с ключом конфигурации». Открытый ключ от master находится в author_keys, и отпечаток пальца сохраняется при переходе по SSH от jenkins @ master до jenkins@node.

Я начал со стратегии проверки Known Hosts, но при этом сервер возвращает отклоненный 1 закрытый ключ (s) для jenkins (credentialId: jenkins / method: publickey), так как я не мог выяснить, почему это было отклонено, я решил попробовать другой метод проверки, предоставленный вручную ключ, в котором я попытался поместить открытый ключ для обоихмастер и узел в пространство, я попытался изменить учетные данные на закрытый ключ для главного / узла, а также даже поместить открытые ключи в учетные данные, чтобы увидеть результат. Я сбросил ключи SSH с помощью ssh-keygen и начал заново, чтобы получить те же результаты в конце. Моя установка Linux Node работает нормально, так как она использует чистый Linux, а не Cygwin / OpenSSH. Я понимаю, что узел ищет открытый ключ мастера, который находится в авторизованном ключе, и он распознает проверку Known_hosts, но все же он все еще отклоняет соединение от мастера.

SSHLauncher{
  host='192.168.1.138',
  port=22,
  credentialsId='jenkins',
  jvmOptions='',
  javaPath='/cygdrive/c/Program Files/Java/jdk-11.0.3/bin/java:',
  prefixStartSlaveCmd='',
  suffixStartSlaveCmd='',
  launchTimeoutSeconds=210,
  maxNumRetries=10,
  retryWaitTime=15,
  sshHostKeyVerificationStrategy=hudson.plugins.sshslaves.verifiers.KnownHostsFileKeyVerificationStrategy,
  tcpNoDelay=true,
  trackCredentials=true
}
[10/31/19 10:35:29] [SSH] Opening SSH connection to 192.168.1.138:22.
[10/31/19 10:35:29] [SSH] SSH host key matches key in Known Hosts file. Connection will be allowed.
ERROR: Server rejected the 1 private key(s) for jenkins (credentialId:jenkins/method:publickey)
[10/31/19 10:35:30] [SSH] Authentication failed.
Authentication failed.
[10/31/19 10:35:30] Launch failed - cleaning up connection
[10/31/19 10:35:30] [SSH] Connection closed.

Удаленный корневой каталог: C:\ cygwin64 \ usr \ jenkins

Извините, если недостаточно информации, я не уверен, что еще может понадобиться, я впервые обращаюсь за помощью на этом форуме. Спасибо за ваше время

Я просто хочу настроить Windows Node, чтобы наша VR-команда могла начать сборку с Jenkins и освободить

своих ПК
...