Это сообщение означает, что сервер, к которому вы подключаетесь, не имеет действующего сертификата TLS, и поэтому безопасное соединение не может быть установлено. Файл, указанный в системном хранилище сертификатов доверенных сертификатов, который печатается Git, чтобы помочь вам определить, чему доверяют. Вы не должны изменять его, переименовывать или удалять, потому что это может нарушить всю проверку TLS в вашей системе.
В идеале ваш друг должен использовать действующий сертификат TLS, и в этом случае все должно работать. Let's Encrypt предоставляет бесплатные сертификаты, и есть простой в использовании инструмент под названием certbot
, который может запрашивать и устанавливать их автоматически. Попросить друга безопасно настроить свой сервер - лучший способ go здесь.
Если по какой-то причине это невозможно, вы можете попросить своего друга предоставить сертификат, который он использует в формате PEM, и сохранить это в файле, а затем установите http.sslCAInfo
на это имя файла. Это тоже безопасно, но немного хлопотно. Вы также можете попытаться извлечь сертификат, используя openssl s_client
для подключения к серверу, и использовать распечатанный там сертификат в качестве источника для http.sslCAInfo
, но у вас нет гарантии, что кто-то не перехватит ваше соединение и не подставит ложный сертификат. .
Можно отключить проверку сертификата TLS, установив http.sslVerify
на false
, но это означает, что ваши данные полностью небезопасны и могут быть изменены, удалены, уничтожены и прочитаны любым достаточно определенным party на Inte rnet. Это не лучше, чем использование обычного HTTP, и должно быть последним средством, поскольку это плохая практика безопасности.