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

Nic*_*.Xu 10 jenkins

这是我的jenkins配置:在此输入图像描述

在此输入图像描述

错误信息:

/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.
Run Code Online (Sandbox Code Playgroud)

无论我尝试了多少它都行不通.我读过这篇文章,但仍然没有解决方案.

小智 21

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

配置代理 - >启动方法 - >手动信任密钥验证策略 - >保存.

希望这可以帮助.


Gor*_*sic 6

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

所以解决这个问题最简单的方法是:

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

    $ mkdir $JENKINS_HOME/.ssh
    $ touch $JENKINS_HOME/.ssh/known_hosts
    
    Run Code Online (Sandbox Code Playgroud)
  2. 如果您之前曾经通过 SSH 从 Jenkins 主设备连接到从设备,那么您known_hosts的目录下应该已经有一个文件~/.ssh。如果不这样做,那么从 Jenkins 主设备到 Jenkins 从设备的 SSH 会在~/.ssh该用户的目录下自动为您创建。

  3. 现在打开该~/.ssh/known_hosts文件,然后将包含从机 IP 地址的行复制并粘贴到该$JENKINS_HOME/.ssh/known_hosts文件中。另一种方法是将整个~/.ssh/known_hosts文件复制到$JENKINS_HOME/.ssh目录(如果这对您来说更容易)。