views:

118

answers:

2

What's the right way to keep ssh host authenticity from being a problem for maven and hudsno builds?

I have hudson building my maven project on a VM. When the ESX server with my VMs on it is taxed some of my jobs will stall out stuck in a loop of ssh host authenticity problems. The hosts were in the known hosts file, but during these times the clocks on the slave VMs have drifted far from those of my maven repo.

[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.

Is there something other than disabling host checking (CheckHostIP no)?

+1  A: 

If this is not a concern, you can set StrictHostKeyChecking to no to blindly connect to the server (see this article).

Either pass the setting on the command line using the -o option:

ssh -o StrictHostKeyChecking=no

Or set it in your ~/.ssh/config:

StrictHostKeyChecking no
Pascal Thivent
Thanks that's awesome.
Peter Kahn
+1  A: 

You can also do this in the Maven settings if you only want it for Maven, or you are not using scpexe://.

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