设置 HTTP Proxy
git config --global http.proxy http://127.0.0.1:7890
git config --global https.proxy http://127.0.0.1:7890
设置 SSH Proxy
Linux
安装软件包:openbsd-netcat
(注意不是gnu-netcat
)
配置文件:~/.ssh/config
Host github.com
Hostname ssh.github.com
Port 443
User git
ForwardAgent yes
ProxyCommand nc -X connect -x 127.0.0.1:7890 %h %p
Windows
Windows 下与之对应的程序是connect.exe
,程序位于 Git 安装路径git/mingw64/bin/connect.exe
Host github.com
Hostname ssh.github.com
Port 443
User git
ForwardAgent yes
ProxyCommand connect -H 127.0.0.1:7890 %h %p
补充说明
Host
为用户显示连接的主机名(ip),Hostname
为 SSH 实际解析并尝试连接的主机名(ip)为什么
Hostname
是ssh.github.com
,为什么要用443
端口,SSH 默认不是22
端口么?因为有些梯子对于
22
端口做了限制,要么禁止了,要么有些抽风,这时经常会遇到如下错误:kex_exchange_identification: Connection closed by remote host
所以如果22
端口不畅就使用443
,安全可靠