Question: Is there a way to generate a certificate or such so that my prod server can pull from my github repo without me authenticating every single time?

Answer: 
**generate ssh key**

```
cd ~/.ssh 
ssh-keygen -t rsa -C "your-email-address"
touch config

```

**paste in config**

```
 Host github.com
  HostName github.com
  User git
  IdentityFile ~/.ssh/YOUR_KEY

```

**paste public key to github deployment key settings**

```
cat YOUR_KEY.pub

```

**set remote from http to ssh**

```
git remote set-url origin ssh://git@github.com/USERNAME/REPOSITORY.git

```
I think this can be done by using credential caching and using the .netrc file. 
[Please Check This](https://confluence.atlassian.com/display/STASH/Permanently+authenticating+with+Git+repositories)