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: 
This is what [Deploy Keys](https://help.github.com/articles/managing-deploy-keys) are for.

That help article explains what deployment authentication methods GitHub supports and gives some pointers to help decide between them.

In my limited experience, deployment SSH keys are probably the simplest to set up.
**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

```