在Maven中settings.xml,我想定义一个SSH服务器并提供:
我不想:
~/.ssh/known_hosts文件因此,StackExchange上的现有答案对我没有帮助,其中包括:
NullKnownHostProvider和设置hostKeyChecking为no.~/.ssh/known_hosts文件中输入的hostkey.这是我如何设想它可以在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) 我正在尝试将资源复制到另一个位置.我正在使用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)