When I run 'scp -v A B', it seems that my user config is not read for B. Looking closer at the output, it looks like the config is read to open a connection to A, and the the ssh connection to B is made from within the connection to A. So, I'm assuming that means it is only reading the config files that are installed with the host A. But, I was initially expecting it to be run from my local machine, and therefore get the config from there. If this is the desired default behaviour, it would be nice to have an option that reads the ssh configs on the local machine for B and then passes any configuration options through to A.
In your example both A and B are host:/path ie a remote to remote copy? If you want both connections to be made from A there's the three-way option to scp: -3 Copies between two remote hosts are transferred through the local host. Without this option the data is copied directly between the two remote hosts. Note that this option disables the progress meter. although that also has different behaviour in that the bytes will pass through the originating host instead of directly from A to B.
Ah, didn't see that option. Suppose that's a good enough solution, as it also ensures no sensitive data from the config leaves the local machine (e.g. my problem was that I needed the ProxyCommand containing a port knocking sequence).
closing resolved bugs as of 8.6p1 release