在将Jenkins master与“on-demand”slave ec2实例连接时,设置ec2-plugin时遇到问题。 这是詹金斯的日志:
INFO: Connecting to <EC2_PUBLIC_DNS> on port 22, with timeout 10000.
Sep 06, 2016 9:54:53 PM null
INFO: Connected via SSH.
Sep 06, 2016 9:54:54 PM null
WARNING: Authentication failed. Trying again...
Sep 06, 2016 9:55:24 PM null
INFO: Authenticating as docker-client
Sep 06, 2016 9:55:25 PM null
INFO: Connecting to <EC2_PUBLIC_DNS> on port 22, with timeout 10000.
Sep 06, 2016 9:55:25 PM null
INFO: Connected via SSH.
Sep 06, 2016 9:55:26 PM null
另一方面,我可以通过ssh命令从Jenkins master连接到slave,反之亦然,没有任何问题。 知道可能是什么问题吗?
提前致谢, 巴克尔
答案 0 :(得分:0)
经过长时间的调查后发现问题是我的unix用户docker-client没有公共ssh密钥(来自密钥对):
/home/docker-client/.ssh/authorized_keys
但是它已经在
/home/ubuntu/.ssh/authorized_keys
在Jenkins的ec2-plugin配置部分,我指定了pem key(来自keypair),但我也尝试连接到docker-client(而不是ubuntu)。 即使我在jenkins master和docker-client用户之间进行了无密码访问,但它没有优先权并且使用了pem密钥(从现在不明显的原因没有成功)