Jenkins maître ne parvient pas à se connecter à l'esclave au-dessus de SSH
Jenkins master est en cours d'exécution sur Amazon instance et de l'esclave de la machine est configuré sur dédié Soyoustart de la machine. A bien fonctionné jusqu'à ce qu'il était nécessaire de refaire l'esclave de l'installation: réinstallé le système d'exploitation, l'installation de Java, a ajouté maîtres principaux de l'esclave authorized_keys et supprimé/ajouté de nouveau l'esclave maîtres known_hosts. Mettre en place de nouvelles informations d'identification de l'esclave et configuré le nœud dans Jenkins maître, mais il est impossible de se connecter à l'esclave.
La configuration est la même qui est et a été de travailler avec d'autres esclaves sans hoquet. La seule différence est que cette fois, le nouvel esclave est la même machine avec l'adresse IP que l'ancienne.
Il est possible de ssh vers l'esclave par le maître à partir de la CLI(remplacé le nom de fichier et de l'esclave IP avec espace réservé pour ce post):
$ ssh -i <key-file> jenkins@<slave-ip>
Les informations d'identification ont été mis en place :
Nœud est configuré:
De sortie lors de la connexion à l'esclave:
[05/17/15 07:30:31] [SSH] Opening SSH connection to <slave-ip>.
Key exchange was not finished, connection is closed.
ERROR: Unexpected error in launching a slave. This is probably a bug in Jenkins.
java.lang.IllegalStateException: Connection is not established!
at com.trilead.ssh2.Connection.getRemainingAuthMethods(Connection.java:1030)
at com.cloudbees.jenkins.plugins.sshcredentials.impl.TrileadSSHPublicKeyAuthenticator.getRemainingAuthMethods(TrileadSSHPublicKeyAuthenticator.java:88)
at com.cloudbees.jenkins.plugins.sshcredentials.impl.TrileadSSHPublicKeyAuthenticator.canAuthenticate(TrileadSSHPublicKeyAuthenticator.java:80)
at com.cloudbees.jenkins.plugins.sshcredentials.SSHAuthenticator.newInstance(SSHAuthenticator.java:207)
at com.cloudbees.jenkins.plugins.sshcredentials.SSHAuthenticator.newInstance(SSHAuthenticator.java:169)
at hudson.plugins.sshslaves.SSHLauncher.openConnection(SSHLauncher.java:1173)
at hudson.plugins.sshslaves.SSHLauncher$2.call(SSHLauncher.java:701)
at hudson.plugins.sshslaves.SSHLauncher$2.call(SSHLauncher.java:696)
at java.util.concurrent.FutureTask.run(FutureTask.java:262)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
at java.lang.Thread.run(Thread.java:745)
[05/17/15 07:30:31] Launch failed - cleaning up connection
[05/17/15 07:30:31] [SSH] Connection closed.
Numéros de Version:
- Jenkins 1.613
- SSH informations d'Identification Plugin 1.11
- SSH Esclaves plugin 1.9
Pour ceux qui préfèrent creuser dans le code:
Ai-je raté quelque chose d'évident ici? Ce pourrait être la cause? Aucune solution connue? Ou faut-il regarder comme un bug qui doit être déclarée?
S'il vous plaît laissez-moi savoir si plus d'information est nécessaire.
Ne jamais résolu ce problème. J'ai juste fini pas en utilisant des esclaves.
La question montre sur cette esclave ou de la totalité de l'environnement Mac?
OriginalL'auteur Tanel Mae | 2015-05-17
Vous devez vous connecter pour publier un commentaire.
Je suis en cours d'exécution Jenkins maître à l'aide officielle Docker image qui utilise OpenJDK8 et ne devrait pas avoir besoin d'installer JCE.
Apparemment c'est un problème non résolu dans Jenkins/SSH de sécurité.
Ma solution actuelle est en commentant
MACs
etKexAlgorithm
ligne dans/etc/ssh/sshd_config
de Jenkins Esclave et de redémarrer le sshd (service ssh restart
sur Ubuntu)Mise à JOUR: le problème a été résolu comme de 2017-04-29
OriginalL'auteur akhyar
Je soupçonne que vous avez besoin pour installer le Java Cryptography Extension pour votre JVM.
Sans que la taille de clé RSA est limité et l'authentification n'est pas établie.
Voir https://issues.jenkins-ci.org/browse/JENKINS-26495 pour plus de détails.
J'ai eu exactement le même problème aussi. Je suis en cours d'exécution Jenkins à l'aide officielle Docker image qui utilise OpenJDK8 et n'ont pas besoin d'installer JCE
OriginalL'auteur tarantoga