If you take a look at the Git book accessible here: 4.1 Git on the Server - The Protocols there is mention of the various formats for the protocols that Git will accept.
Probably the most common transport protocol for Git is SSH. This is because SSH access to servers is already set up in most places — and if it isn’t, it’s easy to do. SSH is also the only network-based protocol that you can easily read from and write to. The other two network protocols (HTTP and Git) are generally read-only, so even if you have them available for the unwashed masses, you still need SSH for your own write commands. SSH is also an authenticated network protocol; and because it’s ubiquitous, it’s generally easy to set up and use.
To clone a Git repository over SSH, you can specify ssh:// URL like this:
$ git clone ssh://user@server/project.git
Or you can use the shorter scp-like syntax for SSH protocol:
$ git clone user@server:project.git
You can also not specify a user, and Git assumes the user you’re currently logged in as.
Services such as GitHub play other tricks with the access to repositories by essentially wrapping the access using HTTP and then emitting the correct protocols out the backside of the HTTP server. This is typically done as a reverse proxy of sorts. A product that you can use that gives you some of these capabilities is called Gitolite (TOC or Intro) as well as Gitorious.