質問

わかりました、だから私はハドソン(v1.393)がUbuntu VMで走っていて、すべてが正常に機能しています。しかし、私はUbuntuマスターにMacスレーブを追加しようとしていますが、いくつかの問題に遭遇しています。

コマンドラインから、Ubuntu VMがキーを使用してMacのHudsonと呼ばれるユーザーにSSHを使用できるようにSSHキーを設定しました。

Hudson Slave構成では、「SSHを介してUNIXマシンでスレーブエージェントを起動」し、ホストIP、スレーブ上のユーザーのユーザー名、およびマスターの秘密キーファイルの場所を入力しました(これはに追加されました奴隷の認定キーファイル)。

ただし、マスターは奴隷に接続できません。ログ(下)を見ると、パスワードを使用して認証しようとしています。

これは、失敗したキーベースのSSHの試みのためのフォールバックですか?
Hudsonはパスワードを使用して認証しようとしているだけで、構成で定義されているキーファイルを使用するように他の何かを変更する必要がありますか?
MacでSSHを介して奴隷エージェントを起動することは不可能ですか? (私はこのタイプの奴隷発射方法の名前を知っていますExplicityはUnixを述べていますが、私はそれがOS Xでも機能すると考えていました(読む:望んでいます))

ログ

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

誰かがこのタイプのセットアップを以前に征服することができた場合、またはヒントやアイデアがある場合、私は非常に感謝しています!ありがとう

役に立ちましたか?

解決

私は最近、同じ問題に遭遇し、SSHを使用してMac OS X 10.6マシンでエージェントを起動しようとしています。

パスワード認証を機能させるには、クライアントノードで /etc /sshd_configを編集する必要があります。 PasswordAuthentication yes

Hudson Dashboardでノードをオフラインにし、構成に有効なユーザー名とパスワードがあることを確認し、エージェントを起動します。また、 リモートFSルート ディレクトリは、接続しているビルドユーザーが所有しています。

パスワードレスSSH認証の場合、最初にHudson Masterが実行しているユーザーを確認してください。これがそうであると仮定しましょう tomcat55. 。パブリック/プライベートSSHキーペア(空のパスフレーズ付き)を生成し、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

Hudson Macノードでは、 /etc /sshd_configがパスワードのないアクセスを可能にする必要があります。

Protocol 2
PubkeyAuthentication yes

ノード構成でパスワードフィールドをクリアし、秘密キーフィールドを設定します(この例では、/home/tomcat55/.ssh/id_rsaです)。これで、エージェントを起動できるはずです。

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

他のヒント

ubuntuマシンの/var/log/auth.logファイルを確認してください。 Hudsonユーザーの.sshディレクトリを700にchmodする必要があると確信しています。

最初の答え(選択された答え)は素晴らしい答えだと思いますが、それが唯一の解決策ではないケースを見つけました。

私の場合、私は機能していたMac OSスレーブを持っています。そして、そのMacを取り下げて新しいマックを育てました。既存のノードの構成の設定を調整して、新しいMacを指すことができると思いました。それは機能しませんでした、そして、私はこのメッセージスレッド全体で説明されているすべての同じエラーと問題がありました。

それから私は入り、ノードを削除し、まったく同じ設定で再作成しましたが、うまくいきました。私 容疑者 そのSSHキーフィンガープリントは変更され、ノードを削除して再作成することで、機能させることができました。それが何であれ、それを失敗させた重要なコンポーネントは構成オプションではありません。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top