Невозможно установить токен доступа GitHub
Когда я пытаюсь 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
Ответы
Наконец нашел решение
$ git config --global url.git://github.com.insteadOf "https://github.com"
Это заставляет протокол git для общедоступных сайтов github без аутентификации, продолжая работать в корпоративной сети и наших частных репозиториях GitHub.
Хороший совет, чтобы побудить помощника по учетным данным запрашивать ваши учетные данные с вашим правильным логином, - это добавить указанный логин в ваш URL-адрес GitHub:
git clone https://<MyGitHubAccount>@github.com/GoogleCloudPlatform/python-docs-samples.git
И убедитесь, что вы удалили любую запись GitHub из связки ключей OSX.
Затем он должен запросить ваш пароль.