A autenticação com nome de usuário e senha é suportada pelo github api :
Existem três maneiras de autenticar através da API do GitHub v3. ...
Autenticação básica
$ curl -u "nome de usuário" https://api.github.com
...
Portanto, basta escolher uma biblioteca no idioma de sua preferência e usar a versão implementada da seção da API Criar uma chave pública "Chave pública":
Cria uma chave pública. Requer que você seja autenticado por meio de autenticação básica ou OAuth com pelo menos [write: public_key] escopo.
ENTRADA
POST /user/keys
{
"title": "octocat@octomac",
"key": "ssh-rsa AAA..."
}
Se você deseja usá-lo na linha de comando (via curl):
curl -u "username" --data '{"title":"test-key","key":"ssh-rsa AAA..."}' https://api.github.com/user/keys
ou mesmo sem solicitar a senha:
curl -u "username:password" --data '{"title":"test-key","key":"ssh-rsa AAA..."}' https://api.github.com/user/keys
aqui está um pequeno tutorial para usar o curl para interagir com a API do github