在公司這樣的局域網環境中,向要走網絡必須走HTTP代理出去。不能直接訪問外面的服務,因此這樣安全了些,可是也提供了不便的地方。所以須要設置一些代理才能使用。html

經常使用的代理有:git

  • HTTP、HTTPS代理 許多程序支持http代理
  • SOCKS代理 不是全部的程序都支持socks代理,可是經常使用的軟件都支持

github上的倉庫支持ssh、https、git三種協議的chekout(clone)操做。github

生成SSH Key

參考http://www.chenyudong.com/archives/ssh-using-private-public-key-no-password.html進行SSH密鑰的生產web

git使用http訪問

github上能夠使用https進行訪問。shell

1
$ git config --global http.proxy http: //web-proxy .oa.com:8080

可是這樣能夠clone了。可是若是要push代碼,那就麻煩了。每次都須要輸入密碼。vim

git使用ssh進行訪問

使用ssh協議不只能夠訪問github,還能夠訪問咱們本身的git私有倉庫,能夠參考文章經過SSH建立私有git倉庫安全

首先,Windows用戶先下載一個mysgit客戶端,下個portable版的就行了,https://github.com/msysgit/msysgit/releases裏面有git程序。Linux用戶跳過。bash

第二步,配置ssh。Windows用戶運行mysgit中的git-bash.bat來啓動終端。編輯vim ~/.ssh/config ,將下面的內容寫入到文件中網絡

1
2
3
4
Host github.com *.github.com
     ProxyCommand connect -H web-proxy.oa.com:8080 %h %p   #設置代理
     IdentityFile ~/. ssh /privatekey/id_rsa .github
     User git

ProxyCommand說明了設置代理,其中connect是個程序,Windows用戶下載了mysgit,裏面有這個程序,Linux用戶可能沒有,須要安裝sudo apt-get install connect-proxyssh

若是你使用corkscrew,那麼解壓縮附件,把corkscrew.exe和cygwin1.dll拷貝到mysgit的bin目錄中。附:corkscrew.zip

第三步,測試

1
2
ssh -T git@github.com
Hi username! You've successfully authenticated, but GitHub does not provide shell access.

 

轉自:http://www.chenyudong.com/archives/use-git-or-github-in-company-local-net.html