I see scott gave you some answers, but I will try to break it down easier otherwise I missunderstood the question.

So in server A and B
run this

ssh-keygen -t rsa

And press enter to accept the defaults

Now in both servers under the user account you will see hidden folder called .ssh which can be found

/home/USERNAME/.ssh
or
/root/.ssh

And inside this folder you will find :
id_rsa.pub

Copy the contents of this file in both servers A and B into a new file called and name it authorized_keys and place it in the same directory, for example server A will have key 123 server B will have key 456 in this authorized_keys it should have both entries.

And bam thats it , this is SSH pasword less login, not sure if its the same thing but seems easier and better.

Except for the root bit, that's not considered a good practice. If you want remote access as root, ssh in with a normal user account and then use sudo. Gives you a way to track what is being done in the logs.

This is still requiring the ssh access key, and the root password of the remote host.

???

Two different things! You ssh into the remote with the standard user. Remote access is now established and you're running as if local.

sudo does not require the root password, it requires the user authenticate to the system when used. With sudo you never require the root password. su does require the root password, but good security practice would not have anyone use su.

Also note I say authenticate to the system, a great number of different ways to do that without passwords.

@Reid-Cooper No errors, just a prompt for the root password to connect to the server.

Let's back up a step here. Do the local files need root permission to read, and does the remote directory need root permission to write? If so, you do need to create an ssh key for the local machine root and use ssh-copy-id to copy that to the remote one.

@RamblingBiped why can't I use the keys generated for this, rather than needing an outside account with passwordless sudo access?

You can, I was just suggesting how I have set up a similar environment in the past. I didn't want to have to screw around with my user's sudo settings. Also I didn't want a job/task such as this tied to a specific user's account either. By setting it up as a separate user it keeps the task from breaking when I leave the company and they kill my credentials.