l'autenticazione SSH Key mancanza quando si collega schiavo Mac Hudson da padroneggiare Linux

StackOverflow https://stackoverflow.com/questions/4715393

Domanda

Ok, così ho Hudson (v1.393) in esecuzione in un VM Ubuntu e raffinato lavoro di tutto. Comunque sto cercando di aggiungere uno schiavo Mac al master Ubuntu e ho eseguito in per alcuni problemi.

Ho creato chiavi SSH in modo che dalla riga di comando, l'Ubuntu VM può ssh usando la chiave in un utente denominato Hudson su Mac.

Nella configurazione dello slave Hudson, ho "agenti di schiavi di avvio su macchine Unix via SSH" selezionati e sono entrati nella host IP, username dell'utente sullo slave e la posizione del mio file chiave privata sul master (che ha stata aggiunta al file keys autorizzato sullo slave).

Tuttavia, il maestro non riesce a connettersi allo slave. Guardando il log (in basso), si sta cercando di autenticarsi utilizzando una password.

E 'questo un back caduta per un tentativo fallito di SSH chiave basato?
È Hudson solo cercando di autenticare utilizzando una password, e ho bisogno di cambiare qualcosa d'altro per arrivare in modo da utilizzare il file di chiave che è definito nella configurazione?
E 'semplicemente impossibile per gli agenti di schiavi lancio via ssh su un Mac? (So ??che il nome di questo tipo di metodo di lancio schiavo esplicitamente afferma Unix, ma stavo pensando (leggi: sperando) che avrebbe funzionato con OS X troppo)

Accedi

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

Se qualcuno è riuscito a conquistare questo tipo di set up prima, o ha qualche consiglio o idee, sarei molto grato! Grazie

È stato utile?

Soluzione

Recentemente ho eseguito nello stesso problema, cercando di lanciare un agente su un Mac OS X 10.6 macchina usando SSH.

Per ottenere l'autenticazione della password al lavoro è necessario modificare il file / etc / sshd_config sul nodo client, impostando PasswordAuthentication yes

Nel Hudson cruscotto prendere la linea nodo, assicurarsi che la configurazione ha un nome utente e una password validi, e lanciare l'agente. Assicurarsi inoltre che il root FS remoto directory è di proprietà da parte dell'utente di build si sta collegando come.

Per l'autenticazione ssh senza password, controllare prima quale utente il maestro Hudson è in esecuzione come. Lascia supporre che si tratta di tomcat55 . Genera un / coppia di chiavi SSH pubblico-privato (con una passphrase vuota), quindi verificare che l'utente può collegarsi Hudson.

$ 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

Nel nodo Hudson Mac, il file / etc / sshd_config esigenze per consentire l'accesso senza password.

Protocol 2
PubkeyAuthentication yes

Nella configurazione del nodo cancellare il campo password, e impostare il campo chiave privata (in questo esempio è /home/tomcat55/.ssh/id_rsa). Si dovrebbe ora essere in grado di lanciare l'agente:

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

Altri suggerimenti

Controlla il file /var/log/auth.log sulla macchina Ubuntu. Sto scommettendo è necessario chmod 700 la directory .ssh dell'utente Hudson.

Credo che la prima risposta (quella selezionata) è una risposta impressionante, ma ho trovato un caso in cui non è l'unica soluzione.

Nel mio caso ho una schiava Mac OS che stava lavorando e poi ho preso che Mac verso il basso e cresciuto uno nuovo. Ho pensato che avrei potuto solo modificare le impostazioni per la configurazione del nodo esistente per puntarlo verso il nuovo Mac. Non ha funzionato e ho avuto tutti gli stessi errori e problemi descritti in questo thread di messaggi.

Poi sono andato e cancellato il nodo e ricreato con esattamente le stesse impostazioni e ha funzionato. I sospettato che chiave SSH impronte digitali cambiato ed eliminando il nodo e ricrearla ero in grado di farlo funzionare. Qualunque cosa sia, il componente chiave che ha causato il fallimento non è un'opzione di configurazione.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top