为什么Jenkins说服务器在启动代理时拒绝了%1个私钥? [英] Why Jenkins says "Server rejected the 1 private key(s)" while launching the agent?
本文介绍了为什么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
启动代理时,它拒绝了私钥。是否有解决此问题的解决方案?
推荐答案
我按照以下步骤解决这个问题:
从目标从节点控制台
- 切换到
root
用户:
sudo su
- 添加主目录为
/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
密钥
从目标从节点控制台
- 为Jenkins用户创建AUTHORIZED_KEYS文件
mkdir /var/lib/jenkins/.ssh
touch /var/lib/jenkins/.ssh/authorized_keys
将密钥从Jenkins主文件粘贴到文件vim中。使用
:wq!
保存
确保文件具有正确的所有者和权限。
chown -R jenkins /var/lib/jenkins/.ssh
chmod 600 /var/lib/jenkins/.ssh/authorized_keys
chmod 700 /var/lib/jenkins/.ssh
这篇关于为什么Jenkins说服务器在启动代理时拒绝了%1个私钥?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文