最近遇到一个闹心的事情,我自己网站的源码放在github上托管,项目部署在阿里云服务器上。
每次更新时,都是用git pull 命令拉取最新的代码,git命令年后突然变慢了,根本拉取不了。提了工单,回复说github是外网,难免有线路不稳定的情况。使用ping命令测试,延迟很高。
经过一番谷歌和摸索,终于找到了解决办法,为git配置ssh代理。
第一步,需要申请一台阿里云香港服务器,我原本就有。
第二步,生成ssh key
ssh-keygen -t rsa -C "your mail"
一路回车就行,在~/.ssh 目录下会生成id_rsa.pub 文件
第三步,为GitHub添加SSH Key,就用id_rsa.pub里的内容
第四步,ssh-copy-id
ssh-copy-id -i .ssh/id_rsa.pub root@香港ip
输入密码,此后登录香港机器就不需要密码了
第五步,安装nc
在大陆服务器和香港服务器上都安装nc
yum install nc
第六步,config
新建.ssh/config文件
Host github.com
ProxyCommand ssh root@香港ip nc %h %p
至此,你在服务器上使用git命令进行的操作,都将由香港服务器来完成。
git clone 的时候,一定要选ssh的地址,类似于git@github.com:kwsy/yourproject.git,这个在github页面上点击clone按钮时,是可以选择的。
ok啦,终于可以用git了。
QQ交流群: 211426309