Ошибка аутентификации на указанном компьютере c через HTTPS с git bash - ответ на следующий вопрос - PullRequest
0 голосов
/ 09 апреля 2020

С этим предыдущим ответом я смог использовать git клон и др. c, используя S SH на проблемной машине c. Но - только на такой машине - я все еще получаю ошибку от git bash для https :

$ git clone https://giuliohome:mypassword@github.com/giuliohome/MyPrivateRepo.git
Cloning into 'MyPrivateRepo'...
remote: Repository not found.
fatal: Authentication failed for 'https://github.com/giuliohome/MyPrivateRepo.git/'

Я пытался создать токен личного доступа через веб-настройки github и использовать его вместо пароля, но он также не работает, как описано выше, на проблемной машине c (опять же, она работает на другой машине).

Я также пытался удалить / изменить / добавить git учетные данные через windows диспетчер учетных данных.

Редактировать Извините, ребята, моя первоначальная проблема была

проблема с сертификатом: невозможно получить сертификат локального эмитента

(Проблема возникла вчера после обновления черепахи git, которое убило процесс проводника и что-то испортилось в моем p c ...)

Я попробовал быстро Обходной путь sslVerify = false, и я получил вышеупомянутую ошибку, но возвращаясь к true Я вижу проблему с сертификатом назад

Здесь запрошенные детали

MYDOMAIN+MYDOMAINUSER@MYMACHINE MINGW64 /c/sviluppi/.../code/git/test2
$ git config -l --show-origin
file:C:/Program Files/Git/etc/gitconfig diff.astextplain.textconv=astextplain
file:C:/Program Files/Git/etc/gitconfig filter.lfs.clean=git-lfs clean -- %f
file:C:/Program Files/Git/etc/gitconfig filter.lfs.smudge=git-lfs smudge -- %f
file:C:/Program Files/Git/etc/gitconfig filter.lfs.process=git-lfs filter-process
file:C:/Program Files/Git/etc/gitconfig filter.lfs.required=true
file:C:/Program Files/Git/etc/gitconfig http.sslbackend=openssl
file:C:/Program Files/Git/etc/gitconfig http.sslcainfo=C:/Program Files/Git/mingw64/ssl/certs/ca-bundle.crt
file:C:/Program Files/Git/etc/gitconfig core.autocrlf=true
file:C:/Program Files/Git/etc/gitconfig core.fscache=true
file:C:/Program Files/Git/etc/gitconfig core.symlinks=false
file:C:/Program Files/Git/etc/gitconfig core.editor="C:\\Program Files\\Notepad++\\notepad++.exe" -multiInst -notabbar -nosession -noPlugin
file:C:/Program Files/Git/etc/gitconfig credential.helper=manager
file:C:/Users/mydomainuser/.gitconfig        user.name=Giulio
file:C:/Users/mydomainuser/.gitconfig        user.email=giuliohome@xxxx.com
file:C:/Users/mydomainuser/.gitconfig        http.sslverify=true
file:C:/Users/mydomainuser/.gitconfig        credential.https://github.com.helper=manager
file:C:/Users/mydomainuser/.gitconfig        credential.https://github.com.username=giuliohome

Я нахожусь на Windows 10 Предприятие, я буду sh использовать черепаху git в конце концов, но на момент, когда я заблокирован на уровне git bash. Так что теперь я использую чистый git и я хочу решить проблему там , тогда, я думаю, я смогу вернуться к черепахе git (опять же, я говорю о git https, потому что git s sh работает, как уже было сказано)

Это мой c:\users\mydomainuser\.gitconfig сейчас

[user]
    name = Giulio
    email = giuliohome@xxxx.com
[http]
    sslVerify = true
    sslbackend = openssl
    sslcainfo = C:/Program Files/Git/mingw64/ssl/certs/ca-bundle.crt
[credential "https://github.com"]
    helper = manager
    username = giuliohome

после замены sslbackend=schannel на openssl Я получаю unable to get local issuer certificate

Наконец, позвольте мне добавить, что McAfee Endpoint Security активен на этом компьютере, а также Blue Coat Unified Agent .

Ответы [ 2 ]

1 голос
/ 09 апреля 2020

Проблема здесь в том, что вы используете git, клиент использует глобальную git конфигурацию, хранящуюся в вашем домашнем каталоге (C: / Users / mydomainuser / .gitconfig), эта git конфигурация не имеет * Установлены значения 1001 * и ssl-cainfo. Вам нужно добавить эти две строки в C:/Users/mydomainuser/.gitconfig

http.sslbackend=openssl
http.sslcainfo=C:/Program Files/Git/mingw64/ssl/certs/ca-bundle.crt
0 голосов
/ 09 апреля 2020

Я подозреваю, что соединение https фактически заблокировано на основе IP-адреса компьютера каким-либо механизмом безопасности.

Я получил это, потому что, если я меняю ip машины и создаю новый личный токен доступа, он, кажется, работает только один раз, один выстрел, поэтому я предполагаю, что это брандмауэр безопасности в сети молча блокирует соединение. Они также сказали мне, что, просматривая журналы McAfee, проблема не в этом. Я провел тестирование путем клонирования частного репозитория Bitbucket на той же машине, но авторизация не удалась, поэтому github тоже не виноват ...

Итак, в конце концов я бы сказал, что это может быть Blue Coat Unified Agent как описано в этот ответ .

Да, это подтверждено, я на мгновение отключил унифицированный агент Blue Coat, и клон git теперь работает, как и ожидалось, также через https. Чтобы исправить это, они заметили из git подробного сообщения об ошибке 401 и, возможно, доверенного сертификата github.

Что касается описания исходной проблемы, см. Также следующее предложение, описанное в шагах по воспроизведению этой проблемы github о контексте " Множественные проблемы, связанные с перехватом SSL (окружение с прокси-сервером). , MITM предприятия и др. c)"

Рекомендовать создать лабораторию и настроить продукт безопасности уровня предприятия, такой как BlueCoat или аналогичный, который поддерживает MITM, а затем использовать внутренние сертификаты для прохода. -бэк.

...