Я пытаюсь пройти аутентификацию в GitHub, используя токен личного доступа. В файлах справки на github говорится об использовании метода cURL для аутентификации ( https://help.github.com/articles/creating-an-access-token-for-command-line-use ). Я пробовал это, но все еще не могу нажать на GitHub. Обратите внимание, я пытаюсь выполнить отправку с неаутентифицированного сервера (Travis-CI).
cd $HOME
git config --global user.email "emailaddress@yahoo.com"
git config --global user.name "username"
curl -u "username:<MYTOKEN>" https://github.com/username/ol3-1.git
git clone --branch=gh-pages https://github.com/username/ol3-1.git gh-pages
cd gh-pages
mkdir buildtest
cd buildtest
touch asdf.asdf
git add -f .
git commit -m "Travis build $TRAVIS_BUILD_NUMBER pushed to gh-pages"
git push -fq origin gh-pages
Этот код вызывает ошибки:
удаленный: анонимный доступ к scuzzlebuzzle / ol3-1.git запрещен.
фатальный: не удалось выполнить аутентификацию для https://github.com/scuzzlebuzzle/ol3-1.git/ "
источник
git remote set-url origin https://scuzzlebuzzle:<MYTOKEN>@github.com/scuzzlebuzzle/ol3-1.git
Во-первых, вам нужно создать токен личного доступа (PAT). Это описано здесь: https://help.github.com/articles/creating-an-access-token-for-command-line-use/
Как ни смешно, в статье рассказывается, как его создать, но совершенно не говорится, что с ним делать. Примерно через час изучения документации и Stack Overflow я наконец нашел ответ:
Я был фактически вынужден включить двухфакторную аутентификацию политикой компании, когда я работал удаленно и все еще вносил локальные изменения, так что на самом деле это было не
clone
мне нужно, ноpush
. Я читал во многих местах, что мне нужно было удалить и воссоздать пульт, но на самом деле моя обычнаяpush
команда работала точно так же, как указаноclone
выше, и пульт не изменился:(@YMHuang направил меня на правильный путь с помощью ссылки на документацию.)
источник
Чтобы не передать «ключи от замка» ...
Обратите внимание, что ответ sigmavirus24 требует, чтобы вы предоставили Трэвису токен с довольно широкими разрешениями - поскольку GitHub предлагает только токены с широкими областями действия, такими как «напишите все мои публичные репозитории» или «напишите все мои частные репозитории».
Если вы хотите ограничить доступ (с немного большей работой!), Вы можете использовать ключи развертывания GitHub в сочетании с зашифрованными полями yaml Travis.
Вот набросок того, как работает эта техника ...
Сначала сгенерируйте вызванный ключ развертывания RSA (через
ssh-keygen
)my_key
и добавьте его в качестве ключа развертывания в настройки репозитория github.Затем...
Затем используйте
$password
файл для расшифровки ключа развертывания во время интеграции, добавив в файл yaml:Примечание: последняя строка предварительно заполняет ключ RSA github, что позволяет избежать необходимости принимать вручную во время подключения.
источник
Автоматизация / автоматизация Git с помощью токенов OAuth
Так же работает в
git push
команде.Ссылка: https://help.github.com/articles/git-automation-with-oauth-tokens/
источник
Это сработало для меня с использованием ssh :
Настройки → Настройки разработчика → Создать новый токен .
источник
git remote add origin https://[USERNAME]:[NEW TOKEN]@github.com/[USERNAME]/[REPO].git
git remote add origin https://[USERNAME]:[TOKEN]@git.mycompany.com/[ORGANIZATION]/[REPO].git
git remote set-url origin https://[TOKEN]@git.mycompany.com/[ORGANIZATION]/[REPO].git> /dev/null 2>&1
чтобы избежать регистрации небезопасного вывода git. Сохраните токен в переменной, чтобы избежать его в журнале. Но его нужно где-то хранить. Для большей безопасности вы можете хранить его в зашифрованном виде. Этот подход, например, поддерживается Travis CI.Обычно мне это нравится
Git_token читает из переменной config в azure DevOps.
Вы можете прочитать мой блог полностью здесь
источник
Бороться с этой проблемой в течение почти целого дня жесткого кодирования в разделе ORG / REPO в нашем сценарии сборки, получая ужасную ошибку «удаленный не найден», в конечном итоге нашел рабочее решение - использовать
TRAVIS_REPO_SLUG
. Включение этого параметра для жестко заданных атрибутов сработало немедленно.источник
После стольких часов борьбы с применением токена GitHub, наконец, он работает следующим образом:
%d%H%M
по слову соответствия'-123456-whatever'
Ниже приводится полный код:
Вывод...
источник
Пароль, который вы используете для входа на портал github.com, не работает в VS Code CLI / Shell. Вы должны скопировать токен PAT из URL https://github.com/settings/tokens , сгенерировав новый токен и вставив эту строку в интерфейс командной строки в качестве пароля.
источник
Если вы используете GitHub Enterprise и клонирование репо или нажатие дает вам ошибку 403 вместо запроса имени пользователя / токена, вы можете использовать это:
источник