Я должен использовать Git-сервер без надлежащих сертификатов, но я не хочу делать
env GIT_SSL_NO_VERIFY=true git command
каждый раз, когда я делаю операцию мерзавца. Но я также хотел бы оставить SSL включенным для других репозиториев git. Есть ли способ сделать это локальным для одного репо?
Ответы:
Ты можешь сделать
в вашем конкретном репо, чтобы отключить проверку сертификата SSL только для этого репо.
источник
--global
опция необходима, когда репо еще не оформлено (невозможно установить опции для репо, который еще не существует локально). После этого всегда можно включить его снова.Вы можете сделать следующим образом
Для одного репо
Для всех репо
источник
sudo
должен использоваться только когда вам действительно нужен root, чтобы что-то делать. Как установка нового программного обеспечения, изменение важных системных файлов, переформатирование дисков, перенастройка сети, управление службами ... В вопросе этого парня не было ничего, что указывало бы на то, что ему нужен root, чтобы что-то делать. Если вы являетесь администратором, вы должны выполнять большинство ваших команд, включая те, которые изменяют вашу конфигурацию, большую часть времени без sudo.Как то, что сказал Тирумалай, но внутри клонированного хранилища и без него
--global
. То есть,GIT_SSL_NO_VERIFY=true git clone https://url
cd <directory-of-the-clone>
git config http.sslVerify false
источник
could not lock global config file .gitconfig: Permission denied
/var/www/...
В частности, если вам нужен рекурсивный клон
источник
Если вы работаете с Windows и у вас установлен Git, попробуйте выполнить следующие действия:
В разделе [http] добавьте строку: sslVerify = false
источник
Существует простой способ настройки GIT для правильной обработки вашего сервера. Просто добавьте определенный раздел http для вашего git-сервера и укажите, какому сертификату (в кодировке Base64) доверять:
~ / .Gitconfig
Таким образом, у вас больше не будет ошибок SSL и вы сможете проверить (обычно) самозаверяющий сертификат. Это лучший способ защитить вас от атак "человек посередине". Когда вы просто отключаете проверку SSL, вы уязвимы для такого рода атак.
https://git-scm.com/docs/git-config#git-config-httplturlgt
источник
Если вам нужно отключить проверки SSL для одного git-сервера, на котором размещено несколько репозиториев, вы можете запустить:
(Если вы все еще используете git <v1.8.5, запустите
git config --global http.https://my.bad.server.sslVerify false
)Пояснение из документации, где находится команда в конце, покажет
.gitconfig
содержимое в следующем виде:Он будет игнорировать любые проверки сертификатов для этого сервера, независимо от хранилища.
У вас также есть некоторые объяснения в коде
источник
Это работает для меня:
источник
Этот вопрос продолжает возникать, и я пока не нашел удовлетворительного результата, поэтому вот что сработало для меня (на основании предыдущего ответа https://stackoverflow.com/a/52706362/1806760 , который не работает):
Мой сервер
https://gitlab.dev
с самозаверяющим сертификатом.Сначала запустите
git config --system --edit
(из командной строки с повышенными привилегиями измените--system
на,--global
если вы хотите сделать это только для своего пользователя), затем вставьте следующий фрагмент после любых предыдущих[http]
разделов:Затем проверьте, все ли вы сделали правильно:
источник
для windows, если вы хотите глобальный конфиг, то запустите
источник
specific repos
явноВ Linux, если вы вызываете это в папке git-репозитория:
это добавит
sslVerify = false
в[http]
разделconfig
файла в.git
папке, который также может быть решением, если вы хотите добавить это вручную с помощьюnano .git/config
:источник