AFAIK, the commands ssh or scp do not have/take a password parameter. Otherwise I could keep the password in a shell variable and probably get rid
ssh
scp
Today, the only way I was able to do this in a bash script via crontab was like that:
crontab
eval $(keychain --eval --agents ssh id_rsa id_dsa id_ed25519) source $HOME/.keychain/$HOSTNAME-sh
This is with the ssh agent already running and to achieve that it was needed the passphrase.