The first time ssh-copy-id
it will ask
# ssh-copy-id -i .ssh/id_dsa.pub [email protected]
The authenticity of host 'example.com (xxx.xxx.xxx.xxx)' can't be established.
RSA key fingerprint is 39:fb:5e:70:30:33:2b:18:17:e9:4f:2f:91:b5:d2:21.
Are you sure you want to continue connecting (yes/no)?
Is it possible to script this, so the script just will answer yes?
SSH has an option to automatically add any host keys to the trusted hosts file:
As an alternative, you could do the following:
Edit: since it appears these solutions don't work with
ssh-copy-id
, you could always create a~/.ssh/config
file with the following option in it:This should work with all SSH connections, regardless if they are invoked through a script or not.
If your
ssh-copy-id
doesn't support the StrictHostKeyChecking option, you can write a script that does:ssh-keyscan
against the target server to get the public keyssh-copy-id
This was from a decade ago, but is still a relevant question and doesn't have a functional answer:
You will still need to enter your password.
Just in case someone else stumbles across this old post.
Try this:
it does not add the host keys to the known_hosts file but lets you copy (or append) the public key to the
authorized_keys
that you want to, if that is the sole purpose here.