git无法clone,SSH key的问题

好惭愧,最近才开始正式的使用git,在前面的博文中,有记录过相关的笔记,但仅限于一些基本的概念和操作上,这里记当录下在使用过程中碰到的问题。

什么是SSH key:

在使用GIT与远程的服务器进行连接的时候,需要生成一个SSH key,他用于在你的计算机和远程服务器(gitlab,github....)建立一个

“安全的连接"(secure connection),这样你每次连接的时候,都不需要输入用户名密码,而且他比单纯的用户名密码机制更加的安全。

如何生成SSH key?
(这里我参考gitlab上的一篇指南)
在生成之前,我们要先看看系统 是不是已经生成过SSH key了,在控制台输入:

cat ~/.ssh/id_rsa.pub

如果你看到了一个很长的字符串,以ssh-rsa or ssh-dsa开头的(如下图),就说明你已经生成过了,就可以跳过这一步。

如果没有,你就需要去生成一个SSH key,打开git控制台,输入以下命令:

ssh-keygen -t rsa -C "这里写你的邮箱地址"

比如:
ssh-keygen -t rsa -C "[email protected]"

控制台会提示你指定路径和密码,可以直接按Enter回车键,默认选项。最好还是创建一个密码,这个密码
是不可以修改,不可找回的。所以一定要记住。

生成以后,使用上面的命令:

cat ~/.ssh/id_rsa.pub

来显示你的SSH key.

拷贝SSH key并部署(deploy)到你的profile中,从ssh-rsa开始到username+host结束,可以直接使用命令行,将
SSH key拷贝到剪切板:

windows:

clip < ~/.ssh/id_rsa.pub

Mac:

pbcopy < ~/.ssh/id_rsa.pub

GNU/Linux (requires xclip):

xclip -sel clip < ~/.ssh/id_rsa.pub

这样就可以啦!

有哪些工具可以使用git?

最开始都是用的git原生控制台,但是太低效了,总是要在各种命令之间切换,而且非图形化的东西看起来不够直观,但对于初学的我来说,通过git原生的形式,有助于自己更好的理解。

git有自己的GUI工具,但据说功能不多,不能很好的解决冲突问题,我没有具体尝试过,这里推荐几款 :

1.Github Desktop

这是Github的官方git软件,其实现在很多IDE都自带这种版本控制软件,学会了这个其他的版本控制软件上手就很简单了

这里也推荐一个教程:0基础的git教程,傻瓜都会用的Github Desktop

2.TortoiseGit:

使用过SVN的,必须都知道这个,这是一位同事推荐的,但是这里无法直接使用SSH key,会报下面这样的错误:

git Couldn't load this key (OpenSSH SSH-2 private key)

有说修改成ssh.exe就可以了,但我这里尝试没有效果,还是传统的方法,需要通过puTTY进行转换成xxx.ppk,并在clone界面,进行配置,具体参见网址:
https://blog.csdn.net/weixin_42709585/article/details/81068100

生成以后,配置进来就可以了。

3.SourceTree

这款才是真正意义上的图形化git工具了,非常的直观,方便,使用起来也很简单,第一次使用要登录帐号,网上有贴子,修改配置文件可以直接跳过,配置如下:

在选项中,在Load Putty Key下,将生成的ppk文件放进去就好了。

注:
如果是在gitlab中使用,那么,你还需要将生成的SSH key 配置在gitlab的后台才可以。

就这么多,赶紧合并代码了!



作者:地坛公园
链接:https://www.jianshu.com/p/0aa066f30d7b
来源:简书
简书著作权归作者所有,任何形式的转载都请联系作者获得授权并注明出处。

发布了14 篇原创文章 · 获赞 1 · 访问量 4万+

猜你喜欢

转载自blog.csdn.net/jh1141233305/article/details/94456372