好的,所以我在 Ubuntu VM 中运行了 Hudson (v1.393),一切正常。但是,我正在尝试将 Mac 从属设备添加到 Ubuntu 主设备,但遇到了一些问题。
我已经设置了 SSH 密钥,以便从命令行,Ubuntu VM 可以使用该密钥 ssh 到 Mac 上名为 hudson 的用户。
在 Hudson 从站配置中,我选择了“通过 SSH 在 Unix 机器上启动从站代理”,并输入了主机 IP、从站上用户的用户名以及我在主站上的私钥文件的位置(已添加到从设备上的授权密钥文件)。
但是,主服务器无法连接到从服务器。查看日志(如下),它正在尝试使用密码进行身份验证。
这是基于失败的基于密钥的 SSH 尝试的回退吗?
Hudson 是否仅尝试使用密码进行身份验证,我需要更改其他内容以使其使用配置中定义的密钥文件?
是不是不可能在 Mac 上通过 ssh 启动从代理?(我知道这种从属启动方法的名称明确指出了 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.
如果有人曾经设法征服这种类型的设置,或者有任何提示或想法,我将非常感激!谢谢