As chaves SSH são por conta no github (e em qualquer outro lugar) e você não quer uma conta para o servidor nem anexar o servidor a uma das contas pessoais.
Suponho que você tenha apenas uma conta para todos no servidor da Web para editar o aplicativo git repo / web. Caso contrário, você não teria a restrição de uma única chave para o servidor.
Então, se você quiser realmente enviar o servidor diretamente para o github, você tem que criar logins / usuários diferentes no servidor web e então entrar como um desses usuários para enviar para o github.
Você precisa ter certeza de que todos esses usuários tenham acesso de gravação à pasta .git
e todos os arquivos criados pelo git manterão esse acesso.
Minha ideia seria forçar um grupo git
para todo o repositório com
chgrp -R git <git repo dir>
chmod -R g+s <git repo dir>
e, em seguida, forçar o acesso de gravação por padrão para novos arquivos para esse grupo com
setfacl -R -m d:g:git:rwX
Esta seria a minha solução para um servidor web linux com ACLs. Caso você tenha um servidor web windows, você pode fazer o mesmo, mas você obviamente tem que fazer isso na GUI ou usar outros comandos.
Em termos de configuração do github / ssh, você criaria uma chave ssh para cada usuário no servidor da web e cada usuário os adicionaria à sua conta de usuário git pessoal. Você ainda não deve copiar a chave privada da sua máquina para o servidor da Web.