Need Bash script help

I have a bash script that does a few things for me. I am setting up a method of using passwordless ssh to move files between a server and several systems. My issue is that I want to use a bash script to automate the keygen and the initial setup. Here is my script

#!/bin/bash
#!/usr/bin/expect -f

#=====setup ssh to the backup server====

echo "Follow along with the enter key for the next few questions."
echo "We are setting up the SSH connections to the cloud server."
ssh-keygen
spawn ssh-copy-id  user@10.10.10.10
expect "password:"
sleep 1
send -- "password\r"
sleep 3
send -- "exit\r"
spawn ssh user@10.10.10.10
sleep 10
send -- "exit\r"
expect eof

When I run this script I get no interaction and back to a bash prompt. Running th ecommands individually the ssh key is copied and I can ssh into the server with no issues. What am I missing?

Thanks

To me that seems to be a clutter of bash / OS and expect commands, run by /bin/bash through shebang, but missing THE expect itself (that second "shebang" being pointless). No surprise it doesn't do anything sensible.

SSH keys
First of all, the best solution for you would be to create new ssh keypair and use this key to login to all your servers (or some, based on preferences). If you don't know how, you can find it many times here on stackexchange, but shortcut:

ssh-keygen; ssh-copy-id your-host

Basically you should set passphrase for your key, so you will log in only once with the one password.

SSH pass
But if you really insist on using your passwords from files, you can do it quite simply as described in comments:

sshpass -f /path/to/myfile ssh user@localhost

But note that this is not really preferred method of using ssh with passwords stored in plaintext.

Expect
You can do the same thing using expect script like this:

#!/usr/local/bin/expect
spawn  ssh user@yourserver.com
expect "password:"
send "your_password\n";
interact