I have a setup as shown in the diagram above, where have a github account which owns a number of private repositories. I have a number of machines in the field that each include some subset of the repositories that I manage. Each repository, on each machine, contains a unique RSA keypair tied to a unique deploy key. I individually assign the core.sshCommand for each repo to use the unique key so I can push and pull from the repository as needed.
This works, but it's very labor intensive since every time I deploy a new machine, I have to generate a new key, add the deploy key to the GitHub, and assign it to local repo via core.sshCommand. Is there an easier way of doing this? Because it seems like a really common pattern but GitHub's security policies sort of forced me into what seems like a very inefficient pattern.