SSH隧道代理git
通过 SSH 建立隧道,设置 Git 代理,解决 GitHub 仓库拉取和推送失败问题。
1、SSH 设置(云服务器)
cd /etc/ssh/
vim sshd_config
# 修改为yes
GatewayPorts yes
# 重启ssh服务
systemctl restart ssh
2、拷贝密钥文件到.ssh 文件夹(本地机器)
3、设置 Git 代理相关参数
git config --global http.proxy socks5://127.0.0.1:8080
git config --global https.proxy socks5://127.0.0.1:8080
git config --global --list
# 取消设置
git config --global --unset http.proxy
git config --global --unset https.proxy
4、SSH 登录
# -p指定远程服务器的SSH端口 -g允许云服务器连接本地机器的转发端口8080 -D表示使用动态端口转发创建SSH隧道
ssh -p 22000 -gD 8080 root@122.10.112.197
因为云服务器是香港 IP,所以访问 GitHub 没有限制。现在可以拉取和推送代码了。但是发现往 Gitee 提交代码也是走代理,也需要临时 SSH 登录云服务器建立隧道,才能够执行(因为无论是 gitee 还是 GitHub,拉取和推送代码都是基于 Git)。这时候就需要取消代理设置,找到 Git 配置文件 .gitconfig
中注释掉相关内容。
结束!