It is probably not related to the known_hosts file. I think, you have to check that Jenkins is able to read your public SSH key. Therefore, you might want to check that:
- home defined for Jenkins user in /etc/passwd matches ~/.ssh
- Jenkins user has access to his home directory (so at least --x--x--x on all dirs above)
- Jenkins user has access to the id_rsa.pub file
- Jenkins is actually running with Jenkins user and not e.g. tomcat user
Also, what happens if you remove your current id_rsa.pub file? Does it complain of not finding a public key to use?