Common key management method seen in Linux scripts is copying private and public SSH key around. While not necessarily the best way to approach things, getting your private SSH key does come in handy when easy automation is needed.
However, there is no need to copy public key if you are already copying the private one. Since private key contains everything, you can use
ssh-keygen to extract public key from it:
ssh-keygen -yf ~/.ssh/id_rsa > ~/.ssh/id_rsa.pub
What is the advantage you ask? Isn't it easier just to copy two files instead of copying one and dealing with shell scripting for second?
Well, yes. However, it is also more error prone as you must always keep private and public key in sync. If you replace one and by accident forget to replace the other, you will be chasing your tail in no time.