简体   繁体   中英

Why does git:// works but git@ does not

Why does git:// works

$ git clone git://github.com/schacon/grit.git
Cloning into 'grit'...
...
Checking connectivity... done.

but git@ does not

$ git clone git@github.com:schacon/grit.git mygrit
Cloning into 'mygrit'...
Warning: Permanently added the RSA host key for IP address '192.30.252.129' to t
he list of known hosts.
Permission denied (publickey).
fatal: Could not read from remote repository.

Please make sure you have the correct access rights
and the repository exists.

Any help is appreciated

This is because git@ uses ssh protocol. It is equivalent to ssh://git@.. So if you dont have correct ssh keys it will not work. Option git:// however uses git protocol which is similar to ssh but uses no authentication at all. See chapter on protocols for more information.

Your first clone method is using the git protocol, the second is using SSH.

You probably don't have your SSH token setup on github.com

https://help.github.com/articles/generating-ssh-keys

Gives you the steps on how to setup your user account for SSH use.

You can see the differences between the protocols as they pertain to github here:

https://gist.github.com/grawity/4392747

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM