无法连接到Jenkins Slave在/var/jenkins_home/.ssh/known_hosts中找不到已知的主机文件

时间:2017-06-08 17:14:46

标签: jenkins

以下是我的jenkins配置:enter image description here

enter image description here

错误讯息:

/var/jenkins_home/.ssh/known_hosts [SSH] No Known Hosts file was found at /var/jenkins_home/.ssh/known_hosts. Please ensure one is created at this path and that Jenkins can read it.

无论我尝试了多少都不起作用。我读过this post,但仍然没有解决方案。

3 个答案:

答案 0 :(得分:17)

启动slave时我遇到了同样的错误。它与SSH Slave Plugin有关。对我有用的是将LAUNCH METHOD中的主机密钥验证策略从“Known Hosts file verification strategy”更改为"Manually trusted key verification strategy"

  

配置代理 - >发射方法 - >手动信任密钥验证   策略 - > SAVE。

希望这有帮助。

答案 1 :(得分:0)

问题在于Jenkins通过报告文件/var/jenkins_home/下的文件丢失(这是一个硬编码值)而引起混乱。相反,它应该告诉您在实际的$JENKINS_HOME路径下文件丢失。这样,您将立即知道在哪里看。

因此解决此问题的最简单方法是:

  1. 转到Jenkins主目录上的实际$JENKINS_HOME目录,并在其下创建一个.ssh目录和known_hosts文件,例如:

    $ mkdir $JENKINS_HOME/.ssh
    $ touch $JENKINS_HOME/.ssh/known_hosts
    
  2. 如果您以前曾经从Jenkins主服务器通过SSH方式连接到从计算机,那么您的known_hosts目录下应该已经有一个~/.ssh文件。如果不这样做,则从Jenkins主服务器到Jenkins从计算机的SSH,它将在该用户的~/.ssh目录下为您自动创建。

  3. 现在打开该~/.ssh/known_hosts文件,然后简单地将包含您的从属计算机IP地址的行复制>粘贴到$JENKINS_HOME/.ssh/known_hosts文件中。另一种方法是将整个~/.ssh/known_hosts文件复制到$JENKINS_HOME/.ssh目录,如果这样更方便。

答案 2 :(得分:-1)

一个非常简单的步骤帮助我恢复了此错误。

在从属配置中,为主机密钥验证策略选择“无验证验证策略”。这将允许主机与从机连接,主机也将被记住。

下次选择“已知主机文件验证策略”时,不会出现此错误。