Невозможно установить токен доступа GitHub

Aug 25 2020

Когда я пытаюсь git клонировать любой репозиторий с использованием HTTPS, он не запрашивает у меня токен доступа, я просто получаю ошибку 403. git clone с использованием SSH работает нормально. Я подозреваю, что проблема связана с тем, что он находится на корпоративном ноутбуке, который использует ZScaler, и цепочка доверенных сертификатов HTTPS нарушена.
Как git знает, какие сертификаты использовать, как это делает браузер? или как я могу решить эту проблему?

$ git clone https://github.com/GoogleCloudPlatform/python-docs-samples.git
Cloning into 'python-docs-samples'...
fatal: unable to access 'https://github.com/GoogleCloudPlatform/python-docs-samples.git/': The requested URL returned error: 403

Я попытался удалить все ссылки из своей KeyChain, поэтому он снова запросит у меня мой токен доступа, но этого не происходит. Также я не вижу ссылки на git в OSX KeyChain

Мой локальный git настроен на использование osx KeyChain

$ git config --get-all --show-origin credential.helper
file:/Applications/Xcode-11.3.1.app/Contents/Developer/usr/share/git-core/gitconfig     osxkeychain

Но, похоже, он знает мои учетные данные GitHub для корпоративного GitHub моей компании.

$ git credential-osxkeychain get

password=<my company password>
username=<my company logon>

Откуда git получает мое имя пользователя и пароль для корпоративного GitHub моей компании и как я могу сказать git, чтобы он использовал мои учетные данные и токен доступа для GitHub.com?

Обновление 1

$ git credential-cache exit
$ git credential-osxkeychain erase host=github.com protocol=https $ git config --global --unset credential.helper

Теперь эта команда ничего не возвращает

$ git credential-osxkeychain get

Но все равно получаю ошибку 403, даже при использовании моего имени пользователя GitHub согласно предложению ниже, это не подсказывает мне.
Я дважды проверил свой KeyChain, и там ничего не хранится для GitHub

Ответы

1 rossco Aug 28 2020 at 08:03

Наконец нашел решение

$ git config --global url.git://github.com.insteadOf "https://github.com"

Это заставляет протокол git для общедоступных сайтов github без аутентификации, продолжая работать в корпоративной сети и наших частных репозиториях GitHub.

VonC Aug 25 2020 at 11:41

Хороший совет, чтобы побудить помощника по учетным данным запрашивать ваши учетные данные с вашим правильным логином, - это добавить указанный логин в ваш URL-адрес GitHub:

 git clone https://<MyGitHubAccount>@github.com/GoogleCloudPlatform/python-docs-samples.git

И убедитесь, что вы удалили любую запись GitHub из связки ключей OSX.

Затем он должен запросить ваш пароль.