MAC 生成SSH Key 及 SourceTree拉取代码

804 阅读2分钟

拉取项目可以选择http和SSH两种方式,但因为http方式需要填写账号、密码没有SSH方式便捷,下面是生成SSH密钥的具体方法。本人记录一下,方便下次查看使用。我们在从gitLab拉取代码的时候,如果使用加密的话需要生成SSH Key的密匙,生成的过程很简单,就是输入如下的命令:

1.生成SSH密钥

后面一般是你gitLab账号邮箱.

ssh-keygen -t rsa -C "xxx@xxx.com"

注意最后面的-C指令一定要大写,我最开始就是使用的小写导致的无法正确生成的错误.

但是最重要的是,你必须一路回车,虽然过程中,终端会提示你输入密码,但是你不要理会,还是一路回车.这是正确生成密匙的关键.

如下图是生成Key的过程:

image.png

这就是生成成功了.值得一提的是:里面的Overwrite 你输入的为y的话,它会覆盖你之前生成的Key,之前你如果在gitLab设置的Key就无效了,你代码都拉不下来.

2.查看本地是否存在SSH密钥 (在你本地已经有生成的key的情况之下,可以查到)

命令:

ls -al ~/.ssh

如果在输出的文件列表中发现id_rsa和id_rsa.pub的存在,证明本地已经存在SSH密钥.

image.png

我们可以看到,在此文件列表中,这两个文件已经存在了.

3.查看SSH公钥

cat ~/.ssh/id_rsa.pub

终端输入以上命令后,就会得到一串编码,将这段编码复制粘贴进gitLab对应的项目仓库的密钥位置保存,就算大功告成了.

编码如下:

image.png

我们登录gitLab后在个人偏好设置中心,找到SSH Keys,把以上编码复制进去即可.

image.png

4.使用SourceTree拉取代码

不出意外的话,意外马上就会发生,SourceTree迟迟不认为这是一个git仓库地址,一直转圈.这可能是第一次链接这个仓库,需要认证,只是SourceTree不会提示导致的.

我们要做的,就是先利用终端使用手动克隆,把项目克隆到电脑的一个地方,在克隆的过程中,终端就会出现认证提示,我们输入yes同意就行.我们需要的就是这个认证提示,克隆下来过后,我们再把项目删除掉,然后重启SourceTree,这个时候SourceTree就可以正常的把项目克隆下来了.但是有时候不知道为何会出问题,还是转圈,你就把上面的项目删了,再手动克隆一次.

手动克隆命令

git clone (这里是复制的SSH链接,直接command+v就可以了)