Frage

Ok, so habe ich Hudson (v1.393) läuft in einem Ubuntu-VM und adaequat ist alles. Aber ich versuche, einen Mac-Slave zum Ubuntu-Master hinzuzufügen, und ich habe um ein paar Probleme laufen.

Ich habe SSH-Schlüssel einrichten, so dass von der Kommandozeile kann die Ubuntu VM ssh den Schlüssel in ein hudson auf dem Mac rufene Benutzer verwendet wird.

In der Hudson Slave-Konfiguration, habe ich „Launch Slave-Agenten auf Unix-Rechnern über SSH“ ausgewählt und habe die Host-IP, Benutzername des Benutzers auf dem Slave und den Ort meiner privaten Schlüsseldatei auf dem Master eingegeben (das hat hinzugefügt, um die autorisierten Schlüsseldatei auf dem Slave).

Allerdings schlägt der Master zum Slave verbinden. Mit Blick auf das Protokoll (siehe unten), es versucht, mit einem Passwort zu authentifizieren.

Ist das ein Fallback für einen ausgefallenen Schlüssel basierten SSH Versuch?
Ist Hudson nur mit einem Passwort zu authentifizieren versuchen, und ich brauche zu ändern etwas anderes, es zu bekommen die Schlüsseldatei zu verwenden, die in der Konfiguration definiert ist?
Ist es einfach nicht möglich zu starten Slave-Agenten via ssh auf einem Mac? (Ich kenne den Namen dieser Art von Slave-Startmethode explizit erklärt Unix, aber ich dachte (sprich: der Hoffnung), dass es mit OS X funktionieren würde)

Anmelden

[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.

Wenn jemand es geschafft hat, diese Art von vor einrichten zu erobern, oder irgendwelche Tipps oder Ideen, würde ich sehr dankbar! Dank

War es hilfreich?

Lösung

Ich habe in das gleiche Problem vor kurzem läuft und versuchen, einen Agenten auf einem Mac OS X 10.6 Maschine mit SSH zu starten.

Um Passwort-Authentifizierung an der Arbeit Sie zu bearbeiten benötigen / etc / sshd_config auf dem Client-Knoten, das Setzen von PasswordAuthentication yes

Im Hudson Dashboard, um den Knoten offline nehmen, stellen Sie sicher, dass die Konfiguration einen gültigen Benutzernamen und ein Passwort hat, und den Agenten starten. Vergewissern Sie sich außerdem, dass die Remote FS root Verzeichnis der Build-Benutzer gehört Sie eine Verbindung wie.

Für kennwort weniger SSH-Authentifizierung, erste Prüfung, welchen Benutzer des Hudson-Master als ausgeführt wird. Lassen Sie uns annehmen, dass dies tomcat55 . Generieren eines öffentlichen / privaten SSH-Schlüsselpaar (mit einem leeren Passwort), dann überprüfen, ob der Hudson Benutzer eine Verbindung herstellen können.

$ ssh-keygen -t rsa
Generating public/private rsa key pair.
Enter file in which to save the key (/home/tomcat55/.ssh/id_rsa): 
Enter passphrase (empty for no passphrase): 
Enter same passphrase again: 
Your identification has been saved in /home/tomcat55/.ssh/id_rsa.
Your public key has been saved in /home/tomcat55/.ssh/id_rsa.pub.

$ # authorize the hudson master on the hudson node
$ scp /home/tomcat55/.ssh/id_rsa.pub hudson@macnode:~/.ssh/authorized_keys
$ # test the connection
$ ssh -i /home/tomcat55/.ssh/id_rsa hudson@macnode

Auf dem Hudson mac Knoten, die / etc / sshd_config Bedürfnisse für kennwort weniger Zugang zu ermöglichen.

Protocol 2
PubkeyAuthentication yes

In der Knotenkonfiguration deaktivieren Sie das Passwort-Feld, und stellen Sie das private Schlüsselfeld (in diesem Beispiel ist es /home/tomcat55/.ssh/id_rsa). Sie sollten nun in der Lage sein, das Mittel zu starten:

[01/19/11 22:38:44] [SSH] Opening SSH connection to macnode:22.
[01/19/11 22:38:44] [SSH] Authenticating as hudson with /home/tomcat55/.ssh/id_rsa.
[01/19/11 22:38:45] [SSH] Authentication successful.

Andere Tipps

Überprüfen Sie die /var/log/auth.log Datei auf dem Ubuntu-Rechner. Ich wette, Sie 700 das .ssh-Verzeichnis des Benutzers hudson chmod müssen.

Ich denke, die erste Antwort (die ausgewählten) ist eine wunderbare Antwort, aber ich habe einen Fall, wo es nicht die einzige Lösung ist.

In meinem Fall habe ich einen Sklaven Mac OS, das funktioniert und dann nahm ich den Mac herunter und brachte einen neuen auf. Ich dachte, ich könnte nur die Einstellungen zwicken für die Konfiguration des vorhandenen Knoten es auf dem neuen Mac zu zeigen. Es hat nicht funktioniert und ich hatte alle die gleichen Fehler und Probleme in dieser Meldung Thread beschrieben.

Dann ging ich in und löschte den Knoten und neu erstellt sie mit genau den gleichen Einstellungen und es funktionierte. I verdächtigt , dass SSH-Schlüssel Fingerabdruck geändert und durch den Knoten zu löschen und neu zu erstellen konnte ich es zum Laufen bringen. Was immer es ist, die Schlüsselkomponente, die es verursacht scheitern ist keine Konfigurationsoption.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top