Using a good proxy server like Limeproxies is very important because of the security and speed it offers you. As a programmer and service administrator for big establishments, you need git to help you save your coding, and monitor changes done on your file. It’s advantage can I be overemphasized and that is why over 37 million people use git and more than 100 repositories exist on github. In this article, you will learn how to use and configure proxy in git for both security and convenience..
An error message or trouble in cloning or fetching from a remote repository indicates the need to configure your proxy server in git. An example of the error you could get is unable to access ‘…’ couldn’t resolve host ‘…’
An error message of this sort is to be dealt with using the following action;
git config -–global http.proxy
http://proxyUsername:proxyPassword@proxy.server.com:port
If you are getting the difficulty for a specific domain, try something like:
git config –-global
http://proxyUsername:proxyPassword@proxy.server.com:port
git config –-global
http.https://domain.com.sslverify false
An advantage of setting http.
Interesting Read : Step By Step Guide To Configure Apache Reverse Proxy
If you are experiencing HTTPS/SSL issues, you should check out the git config documentation of the following sections:
- http.sslVerify
- http.sslCAInfo
- http.sslCAPath
- http.sslCert
- http.sslKey
- http.sslCertpasswordprotected
Post Quick Links
Jump straight to the section of the post you want to read:
DETAILED STEPS ON HOW TO USE AND CONFIGURE PROXY IN GIT
The steps covered here include configuring the proxy, show configuration and how to unset a proxy or SSL verification.
1 . CONFIGURE THE PROXY
You can set up a global proxy and configure these globally in your user ~/.gitconfig file with the use of --global switch, or locally to a repository in the .git/config file.
CONFIGURING A GLOBAL PROXY
If all access to all repositories requires a global proxy, then you have to set one up.
git config --global http.proxy
http://proxyUsername:proxyPassword@proxy.server.com:port
SETTING UP A URL SPECIFIC PROXY
You need to set up a URL specific proxy if you want to limit the use of the proxy for some URLs. This specifies the URL as a git config subsection using http.
git config –-global
http://proxyUsername:proxyPassword@proxy.server.com:port
Making this specification will have this result in the ~/.gitconfig file:
[http]
[http “https://domain.com”]
Proxy =
http://proxyUsername:proxyPassword@proxy.server.com:port
HANDLING SUBSEQUENT SSL PROTOCOL ERRORS
If the problem of fetching or cloning continues and you are getting a response like unable to access ‘https://…’: unknown SSL protocol error in connection to …:443, then you have the choice of switching off SSL verification for the particular operation with the use of –c http.sslVerify=false
git –c http.sslVerify=false clone
https://domain.com/path/to/git
After cloning, you may decide to set this for only this cloned repository .git/config. Notice that --global git config http.sslVerify false is absent.
If your choice is to make it global, you can use http.
git config --global
http.https://domain.com:sslVerify false
This will result in the appearance of the following in ~/.gitconfig
[http]
[http “https://domain.com”]
Proxy =
http://proxyUsername:proxyPassword@proxy.server.com:port
sslVerify = false
2. SHOW CONFIGURATION
If you want to see the current configuration of all http sections, this will take care of that:
git config –-global –-get-regexp http.*
For a locally cloned repository folder, you will have to erase --global to see the current configuration
git config --get-regexp http.*
3. HOW TO UNSET A PROXY OR SSL VERIFICATION
The use of --unset removes the configuration that is specific to – whether it is http.proxy or http.
git config –global --unset http.proxy
git config --global --unset http.https://domain.com.proxy
git config --global --unset http.sslVerify
git config --global --unset http.https://domain.com.sslVerify
GIT AND A PROXY SERVER – HOW TO USE AND CONFIGURE YOUR PROXY WITH GIT
If you make use of a proxy server, then your internet goes through it. To use your proxy with git, you will need to modify git commands access remote repositories.
Interesting Read : How To Configure Proxy Settings in Windows 10?
It is common to find proxy servers being used in business environments and for the best proxy services, one of the best servers to choose is limeproxies.
Finding your proxy settings is easy and is in your browser’s settings panel.
USE PROXY WITH GIT
In order to configure your git, you will first need to obtain your proxy settings. Details that are necessary for the configuration are server URL, port, username and also password. You can configure your git as follows:
$ git config --global http.proxy http://
In configuring, you will need to replace
Once you are done modifying these settings, you can be rest assured that your git pull, git push and git fetch would function properly.
WHEN TO AVOID USING GIT WITH PROXY
There are a few situations in which you should avoid using your git commands with proxy settings. You should avoid doing this if any of the following takes place:
- Your corporate policy or system administrator doesn’t allow you access to the remote git repositories. Repositories could be from GitHub, BitBucket and others like this.
- If the remote repository you want access to is not in your machine but within the internal network. An example of this is the deployment of GitLab internally at your company.
1. UNSET PROXY SETTINGS.
If you added an entry to your git config file by mistake and want to correct this, you can manipulate both files from global and per-repository using git config. To find out if you actually made an error, run the following from your console:
Git config –l --global | grep http
If it is in the global config file
Git config –l | grep http
If it is in the local repository
This will print the line if there is an error in the config file. To then remove all the http.proxy entries from either a local or global file, run the following from your console:
Git config --global --unset-all http.proxy
This will remove it from the global config
Git config --unset-all http.proxy
This will remove it from the local repository file
2. HOW TO MAKE USE OF GIT THROUGH A PROXY SERVER
In this section, I will explain how you can make use of git through a proxy. This is helpful if you are on a private network or behind a firewall.
Interesting Read : How Socks5 proxies solves online issues?
The examples that are used here are valid for connections inside the .cms network at point 5. It is not limited to this configuration as it can be easily adapted into other configurations also.
The most common types of proxy used with git are HTTP proxy and a SOCKS5 proxy.
HOW TO OPEN A SOCKS PROXY THROUGH SSH TUNNEL
The ssh-command that is in most Unix-like systems can be used to open a SOCKS proxy on the local machine. It can forward all connections through the ssh tunnel.
For instance
Ssh –f –N –D 1080 cmsusr.cms
Will connect to cmsusr which is the host, will open a SOCKS proxy on the localhost on 1080 port (-D 1080), and allow the process in the background after connecting successfully (-f –N.
HOW TO USE SSH PROTOCOL TO CONNECT TO GIT REPOSITORY
If the following format exists in the remote;
git@github.com:cms-sw/cmssw.git
ssh://git@github.com/cms-sw/cmssw.git
Then you are onto the git server with SSH protocol. In this case, ssh handles the connection. If you want to then connect through a SOCKS proxy, you will first have to configure ssh itself. This is done by setting the proxyCommand option in the file ~/.ssh/config
Host github.com
User git
ProxyCommand nc –x
Localhost:1080 %h %p
Alternatively, you can do the following on Cent0S7
Host github.com
User git
ProxyCommand ssh cmsusr nc %h %p
3. HOW TO USE GIT OVER AUTHENTICATED PROXY CONNECTION
Git can be used to track the changes that take place on your computer files, and coordinates work on those files among multiple people.
There are two ways you can use git over the authenticated proxy connection:
- Making use of git configuration
- Making use of environment variable
An advantage of using the environment variable is that other apps may also make use of the environment variable for connection.
MAKING USE OF GIT CONFIGURATION
To set up;
Git config --global http.proxy http://Username:Password@proxyServer:Port/
Git config --global https.proxy https://Username:Password@ProxyServer:Port/
An example of this can be seen in the following
Git config --global http.proxy http://2016ipg_047:PASSWORD@192.168.1.107:3128/
To Verify
Git config --global --unset http.proxy
Git config --global --unset https.proxy
To remove
Git config --global –unset http.proxy
Git config --global --unset https.proxy
MAKING USE OF THE ENVIRONMENT VARIABLE
In using the environment variable to option to use git over authenticated proxy connections, you have to;
- Set HTTP_PROXY Environment Variable to
http://UserName:Password@ProxyServer:Port
- Set HTTPS_PROXY Environment Variable to
https://UserName:Password@ProxyServer:Port/
To remove, delete the environment variables.
If you are using an unauthenticated proxy connection, you could just use ProxyServer:Port instead of http://Username:Password@ProxyServer:Port/
CONCLUSION
The use of git is very necessary as it allows you save your codes and retrieve information easily. You can work with others on the same file and get around it efficiently and for security, incorporating a proxy is what you should do. Using proxy with git is not an easy task and with the step by step explanation in this article, you now know how to use and configure proxy with git.
About the author
Rachael Chapman
A Complete Gamer and a Tech Geek. Brings out all her thoughts and Love in Writing Techie Blogs.
Related Articles
5 REASONS YOU SHOULD USE PREMIUM PROXY SERVICE
With the manifestation of World Wide Web, the world of computers has undergone a change.
Top 10 Most Common Uses for Dedicated or Private Proxies
Uses for Private proxies to protect identity, access geo-blocked content, secure sensitive info, manage multiple SocMed accounts and conduct SEO activities.