From 99021b767f991bba547c282f173f63cf997b58c3 Mon Sep 17 00:00:00 2001 From: Herbert Georg Fischer Date: Fri, 15 Mar 2013 13:43:10 -0700 Subject: [PATCH] doc: explain why cmd/go uses https for repositories and how to work around it Fixes #3418. R=golang-dev, r CC=adg, golang-dev https://golang.org/cl/7712045 --- doc/go_faq.html | 32 ++++++++++++++++++++++++++++++++ 1 file changed, 32 insertions(+) diff --git a/doc/go_faq.html b/doc/go_faq.html index fab1702a21..3e742d9f78 100644 --- a/doc/go_faq.html +++ b/doc/go_faq.html @@ -949,6 +949,38 @@ combined with the Go project's mostly linear, non-branching use of version control, a switch to git doesn't seem worthwhile.

+

+Why does "go get" use HTTPS when cloning a repository?

+ +

+Companies often permit outgoing traffic only on the standard TCP ports 80 (HTTP) +and 443 (HTTPS), blocking outgoing traffic on other ports, including TCP port 9418 +(git) and TCP port 22 (SSH). +When using HTTPS instead of HTTP, git enforces certificate validation by +default, providing protection against man-in-the-middle, eavesdropping and tampering attacks. +The go get command therefore uses HTTPS for safety. +

+ +

+If you use git and prefer to push changes through SSH using your existing key +it's easy to work around this. For GitHub, try one of these solutions: +

+ +

Pointers and Allocation

-- 2.50.0