Skip to content

Instantly share code, notes, and snippets.

@yan-zhao-unity
Forked from ozbillwang/Git_Behind_Proxy.md
Created January 14, 2022 09:50
Show Gist options
  • Save yan-zhao-unity/499e884116d33c2602da9a6f002f26f9 to your computer and use it in GitHub Desktop.
Save yan-zhao-unity/499e884116d33c2602da9a6f002f26f9 to your computer and use it in GitHub Desktop.

Revisions

  1. @ozbillwang ozbillwang revised this gist Feb 12, 2020. 1 changed file with 1 addition and 1 deletion.
    2 changes: 1 addition & 1 deletion Git_Behind_Proxy.md
    Original file line number Diff line number Diff line change
    @@ -39,7 +39,7 @@ Host github.com

    ```
    cat ~/.ssh/myauth
    <username>:<password>
    proxyUsername:proxyPassword
    ```
    set ssh config
    ```
  2. @ozbillwang ozbillwang revised this gist Feb 12, 2020. 1 changed file with 19 additions and 0 deletions.
    19 changes: 19 additions & 0 deletions Git_Behind_Proxy.md
    Original file line number Diff line number Diff line change
    @@ -23,6 +23,25 @@ git clone [email protected]:kubernetes/kubernetes.git
    ### Work with ssh config
    So I have to set ssh config (`~/ssh/config`) with `ProxyCommand` properly, git clone start working with proxy.

    Install `corkscrew` or other proxy tool first.

    #### no need set username and proxy for your proxy

    set ssh config
    ```
    Host github.com
    Hostname github.com
    ServerAliveInterval 55
    ForwardAgent yes
    ProxyCommand /usr/bin/corkscrew <replace_with_your_company_proxy_server> <3128> %h %p
    ```
    #### need username and password for your proxy

    ```
    cat ~/.ssh/myauth
    <username>:<password>
    ```
    set ssh config
    ```
    Host github.com
    Hostname github.com
  3. @ozbillwang ozbillwang created this gist Feb 12, 2020.
    48 changes: 48 additions & 0 deletions Git_Behind_Proxy.md
    Original file line number Diff line number Diff line change
    @@ -0,0 +1,48 @@
    There are several ways to clone a repository from github. Similar from other providers, such as bitbucket, gitlab, etc.

    https://git-scm.com/book/en/v2/Git-on-the-Server-The-Protocols

    Mostly, we use

    - http
    - ssh

    ### Sample clone commands:
    The clone command with protocol `https`

    ```
    git clone https://github.com/kubernetes/kubernetes.git
    ```

    The clone command with protocol `ssh+git`

    ```
    git clone [email protected]:kubernetes/kubernetes.git
    ```

    ### Work with ssh config
    So I have to set ssh config (`~/ssh/config`) with `ProxyCommand` properly, git clone start working with proxy.

    ```
    Host github.com
    Hostname github.com
    ServerAliveInterval 55
    ForwardAgent yes
    ProxyCommand /usr/bin/corkscrew <replace_with_your_company_proxy_server> <3128> %h %p ~/.ssh/myauth
    ```

    ### Work with http/https

    update ~/.gitconfig

    ```
    [http]
    [http "https://github.com"]
    proxy = http://proxyUsername:[email protected]:port
    sslVerify = false
    ```

    `sslVerify` setting is not necessary.

    ### Notes:
    **If you only need access github by the way of `ssh+git`, you needn't set any proxy in `~/.gitconfig` and run `git config --global http.proxy ...` and similar commands at all**