为什么Jenkins说服务器在启动代理时拒绝了%1个私钥? [英] Why Jenkins says "Server rejected the 1 private key(s)" while launching the agent?

查看:41
本文介绍了为什么Jenkins说服务器在启动代理时拒绝了%1个私钥?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我可以使用SSH成功连接到远程计算机,但是当我从Jenkins启动代理时,它抛出以下错误:

ERROR: Server rejected the 1 private key(s) for user1 (credentialId:xxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/method:publickey)
[01/19/17 05:35:15] [SSH] Authentication failed.
hudson.AbortException: Authentication failed.
    at hudson.plugins.sshslaves.SSHLauncher.openConnection(SSHLauncher.java:1219)
    at hudson.plugins.sshslaves.SSHLauncher$2.call(SSHLauncher.java:714)
    at hudson.plugins.sshslaves.SSHLauncher$2.call(SSHLauncher.java:709)
    at java.util.concurrent.FutureTask.run(FutureTask.java:266)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
    at java.lang.Thread.run(Thread.java:745)
[01/19/17 05:35:15] Launch failed - cleaning up connection
[01/19/17 05:35:15] [SSH] Connection closed.

我可以使用user1建立从主机到节点计算机的SSH连接,但是当我尝试使用Jenkins中的user1启动代理时,它拒绝了私钥。是否有解决此问题的解决方案?

推荐答案

我按照以下步骤解决这个问题:

从目标从节点控制台

  1. 切换到root用户:
sudo su
  1. 添加主目录为/var/lib/jenkins的Jenkins用户/var/lib/jenkins(注意:我的主目录保存在/var/lib/jenkins中):
useradd -d /var/lib/jenkins jenkins

来自Jenkins Master

从主机上的Jenkins用户复制/var/lib/jenkins/.ssh/id_rsa.pub密钥

从目标从节点控制台

  1. 为Jenkins用户创建AUTHORIZED_KEYS文件
mkdir /var/lib/jenkins/.ssh
touch /var/lib/jenkins/.ssh/authorized_keys
  1. 将密钥从Jenkins主文件粘贴到文件vim中。使用:wq!

  2. 保存
  3. 确保文件具有正确的所有者和权限。

chown -R jenkins /var/lib/jenkins/.ssh
chmod 600 /var/lib/jenkins/.ssh/authorized_keys
chmod 700 /var/lib/jenkins/.ssh

这篇关于为什么Jenkins说服务器在启动代理时拒绝了%1个私钥?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆