La autenticación con nombre de usuario y contraseña es compatible con github api :
Hay tres formas de autenticarse a través de GitHub API v3. ...
Autenticación básica
$ curl -u "nombre de usuario" https://api.github.com
...
Así que simplemente elija una biblioteca en el idioma que prefiera y use la versión implementada de la sección API Crear una clave pública "clave pública":
Crea una clave pública. Requiere que esté autenticado a través de la autenticación básica u OAuth con al menos el alcance [write: public_key].
ENTRADA
POST /user/keys
{
"title": "octocat@octomac",
"key": "ssh-rsa AAA..."
}
Si desea usarlo desde la línea de comandos (a través de curl):
curl -u "username" --data '{"title":"test-key","key":"ssh-rsa AAA..."}' https://api.github.com/user/keys
o incluso sin solicitar contraseña:
curl -u "username:password" --data '{"title":"test-key","key":"ssh-rsa AAA..."}' https://api.github.com/user/keys
Aquí hay un pequeño tutorial para usar curl para interactuar con github API