如何避免 Maven 在 ssh 主机真实性问题上构建停滞?

Posted

技术标签:

【中文标题】如何避免 Maven 在 ssh 主机真实性问题上构建停滞?【英文标题】:How to Avoid Maven builds stall on ssh host authenticity problem? 【发布时间】:2011-02-10 18:35:47 【问题描述】:

防止 ssh 主机真实性成为 maven 和 hudsno 构建问题的正确方法是什么?

我让 hudson 在虚拟机上构建我的 maven 项目。当带有我的虚拟机的 ESX 服务器被征税时,我的一些工作将陷入 ssh 主机真实性问题的循环中。主机在已知的主机文件中,但在这些时间里,从属虚拟机上的时钟与我的 maven 存储库的时钟相差甚远。

[INFO] Retrieving previous build number from snapshots
The authenticity of host 'maven.mycorp.com' can't be established.
DSA key fingerprint is 6d:....83.
Are you sure you want to continue connecting? (yes/no): The authenticity 
of host 'maven.mycorp.com' can't be established.

除了禁用主机检查(CheckHostIP no)之外,还有其他的吗?

【问题讨论】:

【参考方案1】:

如果这不是问题,您可以将StrictHostKeyChecking 设置为no 以盲目连接到服务器(请参阅this article)。

使用-o 选项在命令行上传递设置:

ssh -o StrictHostKeyChecking=no

或者设置在你的~/.ssh/config

StrictHostKeyChecking no

【讨论】:

【参考方案2】:

如果您只需要 Maven,或者您不使用 scpexe://,也可以在 Maven 设置中执行此操作。

<server>
  <id>some-repo-id</id>
  <configuration>
    <knownHostsProvider implementation="org.apache.maven.wagon.providers.ssh.knownhost.NullKnownHostProvider">
      <hostKeyChecking>no</hostKeyChecking>
    </knownHostsProvider>
  </configuration>
</server>

【讨论】:

我注意到这个选项似乎不适用于很多人(包括我自己)。 ***.com/questions/8323040/… - 我得到的错误是“无法加载实现命中'...NullKnownHostsPorvider'”。这是在我使用 wagon-ssh-common 2.6(包含该类)扩展构建之后 为我工作,使用 maven 3.6.1 和 wagon-maven-plugin 2.0.0 进行测试 更新到 wagon-maven-plugin 2.0.0 使此设置生效。谢谢@user1686407

以上是关于如何避免 Maven 在 ssh 主机真实性问题上构建停滞?的主要内容,如果未能解决你的问题,请参考以下文章

jenkins发布项目到远程主机上,配置两台linux如何使用SSH免密码登录

markdown ssh连接每次提示无法建立主机'xxx'的真实性。,输入是确认

在linux下登录ssh怎么指定端口

GitHub Action appleboy/ssh-action:如何避免 SSH 密钥出现在服务器上?

如何在同一(但正在更改)IP 地址上处理 2 个不同主机的 ssh 主机密钥验证? [关闭]

如何使用secureCRT连接vmware中的虚拟主机