I'm creating a bash script to create new EC2 instances and then upload a file once the instance is created. I'm using scp to upload the file, however, since this is the first time I'm connecting to the instance the script is prompted with "Are you sure you want to continue connecting (yes/no)?" since the authenticity of the host is not known. The script needs to run non-interactively.
Is it possible to avoid the prompt (there doesn't seem to be an obvious command line option). If not is there an alternative method or command I can use to upload the file?
You can set the option StrictHostKeyChecking
to no in ~/.ssh/config
. See ssh_config(5)
This can also be done from the command line: scp -i id -o stricthostkeychecking=no source.txt user@host:/path/
Where id is a private key where the corresponding public key resides in the authorized_keys file on the server