1 引言
本文详细介绍了在 Linux 环境下配置和使用网络代理的步骤。包括使用环境变量设置代理的方法、在 Git 中配置代理的常用方法以及一些调试工具。这些内容对于需要在网络受限环境下使用 Git 的用户非常实用。
2 配置代理
shell
export http_proxy=http://host:port/
export https_proxy=$http_proxy
export ftp_proxy=$http_proxy
export rsync_proxy=$http_proxy
export all_proxy=$http_proxy
export no_proxy="localhost,127.0.0.1,localaddress,.localdomain.com"
3 git 设置 http 代理
最常用的访问 git 的方式是 http 方式,形如:
shell
$ git clone https://github.com/xxx/yyy/
在这种情况下,正常连接需要设置 http proxy。
3.1 设置
shell
$ git config --global http.proxy http://host:port
$ git config --global https.proxy https://host:port
3.2 查看当前配置
shell
$ git config --global -l
3.3 取消代理
shell
$ git config --global --unset http.proxy
$ git config --global --unset https.proxy
4 设置 ssh 代理
我们也常常使用 ssh 方式操作 gihub 项目,形如:
shell
git clone git@github.com:xxx/yyy.git
这种方式使用 ssh 与 github 建立连接,无法使用 http proxy 设置,具体设置方法如下:
shell
$ vi ~/.ssh/config
编辑如下:
Host github.com
HostName github.com
User git
ProxyCommand nc -x host:port %h %p
(注意:这里的 host:port 不是 http 代理,是 socks 代理)
测试 nc 命令是否正常
shell
$ nc -x host:port github.com 22
测试 git 的 ssh 方式是否正常
shell
$ ssh -T git@github.com