Clé SSH authentification par défaut lors de la connexion Mac Hudson esclave à maître Linux
Ok, donc j'ai Hudson (v1.393) qui s'exécute dans une machine virtuelle Ubuntu et tout fonctionne bien.
Cependant, je vais essayer d'ajouter un Mac esclave d'Ubuntu en master et j'ai couru dans quelques problèmes.
J'ai mis en place des clés SSH de sorte qu'à partir de la ligne de commande, la machine virtuelle Ubuntu peut ssh à l'aide de la clé à un utilisateur appelé hudson sur le Mac.
Dans l'Hudson esclave de configuration, j'ai "Lancement de l'esclave agents sur des machines Unix via SSH" sélectionné et d'avoir entré l'IP de l'hôte, le nom d'utilisateur de l'utilisateur sur l'esclave et de l'emplacement de mon fichier de clé privée sur le maître (qui a été ajouté à l'autorisés fichier de clés sur l'esclave).
Toutefois, le maître ne parvient pas à se connecter à l'esclave.
En regardant le journal (ci-dessous), il essaie de s'authentifier à l'aide d'un mot de passe.
Est-ce une chute en arrière pour un échec basée sur une clé SSH tentative?
Est Hudson seulement essayer de s'authentifier à l'aide d'un mot de passe, et j'ai besoin de changer quelque chose pour l'obtenir à utiliser le fichier de clé qui est défini dans la configuration?
Est-il tout simplement pas possible de lancer esclave agents via ssh sur un mac? (Je sais le nom de ce type d'esclave méthode de lancement explicitement les états Unix, mais je pensais (en espérant) que cela pourrait fonctionner avec OS X aussi)
Journal
[01/14/11 10:38:07] [SSH] Opening SSH connection to 10.0.1.188:22.
[01/14/11 10:38:07] [SSH] Authenticating as hudson/******.
java.io.IOException: Password authentication failed.
at com.trilead.ssh2.auth.AuthenticationManager.authenticatePassword(AuthenticationManager.java:319)
at com.trilead.ssh2.Connection.authenticateWithPassword(Connection.java:314)
at hudson.plugins.sshslaves.SSHLauncher.openConnection(SSHLauncher.java:565)
at hudson.plugins.sshslaves.SSHLauncher.launch(SSHLauncher.java:179)
at hudson.slaves.SlaveComputer$1.call(SlaveComputer.java:184)
at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:334)
at java.util.concurrent.FutureTask.run(FutureTask.java:166)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)
at java.lang.Thread.run(Thread.java:636)
Caused by: java.io.IOException: Authentication method password not supported by the server at this stage.
at com.trilead.ssh2.auth.AuthenticationManager.authenticatePassword(AuthenticationManager.java:289)
... 9 more
[01/14/11 10:38:07] [SSH] Connection closed.
Si quelqu'un a réussi à conquérir ce type de mis en place avant, ou a des conseils ou des idées, je serais très reconnaissant!
Grâce
Avez-vous essayé de connecter à OS X box à partir de la VM avec juste ssh pour voir si la clé d'authentification est activée? Est l'OS X boîte de Serveur ou de Client version? Vous avez oublié le mot de passe vide lorsque vous avez généré la clé?
Juste essayé à l'aide d'un mot de passe plutôt que d'une clé. Pas de chance, même les messages dans le journal.
ssh en ligne de commande sur la machine virtuelle Ubuntu pour Mac fonctionne bien. J'ai d'abord eu un mot de passe sur la clé ssh, mais ensuite j'ai créé une nouvelle clé sans mot de passe que j'ai pensé que peut être le problème. L'OS X de la machine n'est pas le serveur version standard de l'OS X 10.6.6.
OriginalL'auteur mattbilson | 2011-01-17
Vous devez vous connecter pour publier un commentaire.
J'ai récemment le même problème, en essayant de lancer un agent sur un Mac OS X 10.6 machine à l'aide de SSH.
Pour obtenir le mot de passe d'authentification pour travailler, vous aurez besoin de modifier /etc/sshd_config sur le nœud client, réglage
PasswordAuthentication yes
Dans le tableau de bord de l'Hudson prendre le nœud en mode hors connexion, assurez-vous que la configuration a un nom d'utilisateur valide et un mot de passe, et le lancement de l'agent. Assurez-vous également que le Distance FS racine répertoire est détenu par la construction de l'utilisateur que vous êtes connecté.
De passe pour les moins de ssh authentification, vérifiez d'abord l'utilisateur qui l'Hudson maître. Supposons que c'est tomcat55. Générer un public/privé paire de clés SSH (avec une phrase de passe vide), puis vérifiez que le Hudson utilisateur peut se connecter.
Sur l'Hudson mac nœud, le /etc/sshd_config permettre un mot de passe de l'accès aux données.
Dans le nœud configuration effacer le champ mot de passe, et de définir la clé privée de champ (dans cet exemple, il est /home/tomcat55/.ssh/id_rsa). Vous devriez maintenant être en mesure de lancer l'agent:
Le SSH plug-in retombe à un mot de passe si il ne peut pas utiliser la clé privée pour vous connecter au nœud. Je vous laisse le champ mot de passe vide tandis que vous essayez de comprendre les choses, pour s'assurer qu'il n'est pas le PasswordAuthentication c'est de le laisser dans. Aussi, ce qui se passe est ssh -je KEYFILE USER@HOST . Si vous pouvez le faire manuellement que la hudson utilisateur puis Hudson devrait être en mesure de le faire ainsi. Êtes-vous capable de la ligue d'hudson utilisateur, puis essayez de ssh en ligne de commande? Si il y a un problème, vous aurez plus de chances de trouver de cette façon.
Ça y est! Hudson s'exécute sur l'hudson utilisateur, mais je suis sur ubuntu en machine en tant qu'utilisateur différent. Et hudson n'a pas les permissions pour mon fichier de clé. Donc maintenant, j'ai créé une clé pour le hudson de l'utilisateur et de l'ajouter à la Mac. Il s'avère que c'était assez simple erreur. Merci pour l'info sur ce que hudson était en train de faire Ronen!
Cool. J'ai été heureux de vous aider.
Vraiment bonne info, Ronen -- merci!
OriginalL'auteur Ronen Botzer
Vérifier le fichier /var/log/auth.fichier de log sur la machine Ubuntu. Je parie que vous besoin de faire un chmod 700 de la .ssh répertoire de l'hudson utilisateur.
OriginalL'auteur Satya
Je pense que la première réponse (un) est une réponse impressionnante, mais j'ai trouvé un cas où il n'est pas la seule solution.
Dans mon cas, j'ai un Mac OS esclave qui travaille et j'ai ensuite pris la Mac, et mise en place d'un nouveau. J'ai pensé que je pourrais juste de modifier les paramètres pour que le nœud de configuration de la pointer vers le nouveau Mac. Cela n'a pas fonctionné et j'ai eu tout de même des erreurs et des problèmes décrits tout au long de ce fil de message.
Puis je suis allé dans et supprimé le nœud et recréé avec exactement les mêmes paramètres et cela a fonctionné. Je suspect que SSH empreinte de clé changé, et par la suppression du nœud et de recréer j'ai été en mesure de le faire fonctionner. Quoiqu'il en soit, l'élément clé qui a causé l'échec n'est pas une option de configuration.
OriginalL'auteur newz2000