I'm working on a project currently stored in a private Git repository on Bitbucket, that will be deployed to multiple external servers.
Because the repo is private, I need these servers to be able to authenticate to clone the repository as well as pull when there are updates. For this, it looks like access keys are the way to go.
My question is - is it acceptable to generate one SSH key and copy the private key onto each server that needs to clone the Git repository? The public key would be added to Bitbucket the first time, so every server that had the private key would be able to access the Bitbucket repo.
My rationale is just convenience - the provisioning process for these servers is going to be largely automated, and it would help a great deal if I could copy an existing private key as part of the process, and then immediately get going by cloning the repository. If I have to create a private key per-server, it means manually logging in to my Bitbucket account to add each key.
I understand that in general, the answer to "should you share private keys" is a solid "no", but I couldn't find much information relating to this particular use case. The keys would only be used for access to this one repo. I don't need to identify which server is accessing what on the repo, because all of the servers will largely be completing the same actions.