make password-less ssh with expect

Hello!
Im trying to write script wich will be send public ssh key to several hosts. And these actions should be executed without entering password.
i.e. i need something like:
>>>
/usr/bin/expect -c 'eval spawn {cat ~/.ssh/id_rsa.pub | ssh ftj_dklj@oracle "mkdir -p ~/.ssh && cat - >> ~/.ssh/authorized_keys"}
expect "assword:"
send "*****\n"
expect eof'
<<<
I know that pipe is not allowed in expect. Example above is just for understanding what i want) Also i've tried at least create .ssh directory. But these actions also were not successfull.