Auth с именем пользователя и паролем поддерживается github api :
Существует три способа аутентификации через GitHub API v3. ...
Базовая аутентификация
$ curl -u "username" https://api.github.com
...
Так что просто выберите библиотеку на том языке, который вы предпочитаете, и используйте реализованную версию раздела API « Создание открытого ключа » «Открытый ключ»:
Создает открытый ключ. Требует, чтобы вы проходили аутентификацию через Basic Auth или OAuth с областью действия [write: public_key] как минимум.
ВХОД
POST /user/keys
{
"title": "octocat@octomac",
"key": "ssh-rsa AAA..."
}
Если вы хотите использовать его из командной строки (через curl):
curl -u "username" --data '{"title":"test-key","key":"ssh-rsa AAA..."}' https://api.github.com/user/keys
или даже без запроса пароля:
curl -u "username:password" --data '{"title":"test-key","key":"ssh-rsa AAA..."}' https://api.github.com/user/keys
Вот хороший небольшой учебник по использованию curl для взаимодействия с github API