What does the program ssh-copy-id actually do under the hood? Can the steps be explained as if to a child with a good understanding of computer science?
Does it use protocols already existing in the SSH specification, or does it use "trickery" to get the key copied over (such as try to run shell commands on the target system as if it were a user)? Does the "target" SSH server need to know about ssh-copy-id before-hand, and be coded to handle it, or will it work on any implementation of SSH on any OS?