0

我在 pom.xml 中使用 wagon-maven-plugin 将 JAR 文件上传到我的远程服务器之一。

下面是这个插件的介绍和使用:https: //www.mojohaus.org/wagon-maven-plugin/

我遵循了这篇文章的配置,以及它的官方文档:

现在一切正常 - 我可以成功上传 JAR 并执行一些 shell 命令,除了每次执行 maven 目标时,它都会不断弹出远程服务器的 RSA 密钥指纹并询问我是否要继续.

输出信息显示如下:

[INFO] --- wagon-maven-plugin:2.0.2:upload-single (upload-jar-to-app01) @ my-app ---
The authenticity of host 'localhost' can't be established.
RSA key fingerprint is ef:04:e4:2d:fa:0f:ee:78:ff:94:b1:dc:07:32:00:f3.
Are you sure you want to continue connecting? (yes/no): yes

有没有办法避免这种情况?这样我就不必每次都输入“是”。

4

1 回答 1

0

我想我找到了解决这个问题的方法。

实际上这与 wagon-maven-plugin 无关,RSA 密钥指纹弹出窗口来自 SSH 客户端,由Maven Wagon实现- 是的,我在 pom.xml 中也有这个组件作为扩展:

<project>
    <build>
      ...
        <extensions>
            <extension>
                <groupId>org.apache.maven.wagon</groupId>
                <artifactId>wagon-ssh</artifactId>
                <version>3.0.0</version>
            </extension>
        </extensions>
        ...
    </build>
</project>

为了解决这个问题,我只需要将此扩展升级到最新版本3.4.3,它具有允许我们在通过 SSH 连接服务器时添加参数的功能。请参考这个已关闭的Github 问题

参数应添加到serversettings.xml 中的配置中,如下所示:

<settings>
    ...
    <servers>
        <server>
          <id>my-servers</id>
          <username>name</username>
          <password>password</password>
          <configuration>
            <strictHostKeyChecking>no</strictHostKeyChecking>
            <preferredAuthentications>publickey,password</preferredAuthentications>
            <interactive>false</interactive>
          </configuration>
        </server>
    </servers>
    ...
</settings>
于 2021-07-23T02:33:56.460 回答