相关疑难解决方法(0)

如何在server.xml中为Maven SSH使用提供主机密钥

在Maven中settings.xml,我想定义一个SSH服务器并提供:

  • 要连接的主机
  • 要连接的用户
  • 私钥的位置(用于验证自己)
  • 手动提供主机密钥(验证服务器的公钥)

我不想:

  • 依赖于~/.ssh/known_hosts文件
  • 要求接受主机密钥
  • 忽略主机密钥验证

因此,StackExchange上的现有答案对我没有帮助,其中包括:

这是我如何设想它可以在maven中设置的一个例子setup.xml:

<servers>
  <server>
    <id>gitcloud.myserver.net:8001</id>
    <username>git</username>
    <privateKey>C:/data/home/.ssh/id_rsa</privateKey>
    <configuration>
      <knownHostsProvider implementation="org.apache.maven.wagon.providers.ssh.knownhost.SingleKnownHostProvider">
        <hostKeyChecking>yes</hostKeyChecking>
        <contents>codecloud.web.att.com ssh-rsa XXXXA3NvvFakeSSHKEYsdfADA...doLQ==</contents>
      </knownHostsProvider>
    </configuration>
  </server>
</servers>
Run Code Online (Sandbox Code Playgroud)

jsch maven maven-wagon-plugin

10
推荐指数
1
解决办法
1672
查看次数

Maven Wagon SCP无法建立连接

我正在尝试将资源复制到另一个位置.我正在使用maven wagon-ssh插件来执行此操作.它在本地工作正常,我在使用Hudson/Jenkins时遇到问题.

我的settings.xml文件看起来像这样:

<servers>
    <server>
        <id>iq</id>
        <configuration>
            <knownHostsProvider implementation="org.apache.maven.wagon.providers.ssh.knownhost.NullKnownHostProvider">
                <hostKeyChecking>no</hostKeyChecking>
            </knownHostsProvider>
        </configuration>
        <username>user</username>
        <password>pass</password>
    </server>
</servers>
Run Code Online (Sandbox Code Playgroud)

我尝试了这个答案来跳过检查,因为我得到了:

Are you sure you want to continue connecting? (yes/no): The authenticity of host 'address' can't be established.
RSA key fingerprint is 10:.......:bb.
Run Code Online (Sandbox Code Playgroud)

但现在我得到了:

Could not apply configuration for iq to wagon org.apache.maven.wagon.providers.ssh.jsch.ScpWagon:ClassNotFoundException: Class name which was explicitly given in configuration using 'implementation' attribute: 'org.apache.maven.wagon.providers.ssh.knownhost.NullKnownHostProvider' cannot be loaded
org.codehaus.plexus.component.configurator.ComponentConfigurationException: ClassNotFoundException: Class name which was explicitly given in configuration using 'implementation' …
Run Code Online (Sandbox Code Playgroud)

ssh maven wagon

4
推荐指数
1
解决办法
5431
查看次数

标签 统计

maven ×2

jsch ×1

maven-wagon-plugin ×1

ssh ×1

wagon ×1