I mainly use docker runners which have convenient options to do things like volume-mount a netrc file inside the container so that oath can be used to access github. However, with SSH runner I cannot figured out a good way to do something similar. SSH runner creates a tmp home directory, which is empty, and there seems to be no way to customize it short of disabling the auto-clone and manually inserting commands to map a .netrc or .gitconfig and then doing a custom clone. Am I missing something? Is there no way to setup an SSH runner to have access to github? I am looking for something like an option in the ssh-runner itself, a place to insert commands before the auto-clone happens, or a way to point the workspace to a netrc file.
Sure, you can provide access to credentials (such as github tokens) using secrets . Add a secret to your repository and then add a command to your pipeline to write the secret to disk 
Alternatively if you want a global variable that is available to all pipelines automatically, you can configure global environment variables at the runner level.