Ошибка аутентификации на определенном компьютере через HTTPS с помощью git bash - дополнительный вопрос

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

$ git clone https://giuliohome:[email protected]/giuliohome/MyPrivateRepo.git
Cloning into 'MyPrivateRepo'...
remote: Repository not found.
fatal: Authentication failed for 'https://github.com/giuliohome/MyPrivateRepo.git/'

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

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

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

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

(Проблема возникла вчера после того, как обновление tortoisegit убило процесс проводника и что-то испортилось на моем компьютере...)

Я попробовал быстрый обходной путь 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        [email protected]
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 Enterprise, в конце концов я хочу использовать tortoisegit, но на данный момент я заблокирован на уровне git bash. Итак, теперь я использую чистый git и хочу решить проблему там, тогда, думаю, я смогу вернуться к tortoisegit (опять же, я говорю о git https, потому что git ssh работает как уже сказали)

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

[user]
    name = Giulio
    email = [email protected]
[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.


person Giulio    schedule 09.04.2020    source источник
comment
вы используете окна правильно?   -  person CodeTalker    schedule 09.04.2020
comment
Хорошо. Не могли бы вы поделиться своей конфигурацией github, используя git config -l --show-origin   -  person CodeTalker    schedule 09.04.2020
comment
Используете ли вы Git Client для Windows или какой-либо другой клиент git. Как вы упомянули, вы используете tortoisegit?   -  person CodeTalker    schedule 09.04.2020


Ответы (2)


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

http.sslbackend=openssl
http.sslcainfo=C:/Program Files/Git/mingw64/ssl/certs/ca-bundle.crt
person CodeTalker    schedule 09.04.2020
comment
Удалите http.sslbackend=schannel, вам нужно оставить только один ssl-сервер, либо openssl, либо schannel. - person CodeTalker; 09.04.2020
comment
Я получаю проблему с сертификатом: невозможно получить сертификат локального эмитента - person Giulio; 09.04.2020
comment
Удалите http.sslbackend=openssl http.sslcainfo=C:/Program Files/Git/mingw64/ssl/certs/ca-bundle.crt эти две строки и добавьте только http.sslbackend=schannel. Проверьте и прокомментируйте здесь - person CodeTalker; 09.04.2020
comment
В этом случае фатально: не удалось выполнить аутентификацию для 'github.com/giuliohome/mypriivaterepo.git. - person Giulio; 09.04.2020
comment
Теперь добавьте эту строку также http.sslcainfo=C:/Program Files/Git/mingw64/ssl/certs/ca-bundle.crt. Проверьте и прокомментируйте здесь - person CodeTalker; 09.04.2020
comment
в любом случае отдавая вам должное за ваши усилия, даже если проблема не решена. Я боюсь, что вчера что-то было повреждено на уровне операционной системы. Я вижу странную вещь с разрешениями на некоторые папки и с сообщениями от корпоративного антивируса... может быть, что-то в моем профиле. Надеюсь, что вы или кто-то еще можете дать правильное окончательное предложение, чтобы решить эту проблему. Даже если я уже могу продолжать работать с ssh - person Giulio; 09.04.2020
comment
Давайте продолжим это обсуждение в чате. - person CodeTalker; 09.04.2020

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

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

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

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

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

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

person Giulio    schedule 09.04.2020
comment
Кстати, сегодня утром я также заметил, что тот же самый Bluecoat Unified Agent также вызывает сбой в последнем обновлении Visual Studio 2019 до версии 16.5.5, и мне пришлось деактивировать его, чтобы завершить обновление. - person Giulio; 14.05.2020