SSH 为 Secure Shell 的缩写,由 IETF 的网络小组(Network Working Group)所制定;SSH 为建立在应用层基础上的安全协议。

在管理Git项目赏,有两种克隆到本地的方法

  • 直接使用https url克隆到本地
  • 使用SSH url克隆到本地

这两种方式的主要区别在于:使用https url克隆对初学者来说会比较方便,复制https url然后到git Bash里面直接用clone命令克隆到本地就好了,但是每次fetch和push代码都需要输入账号和密码,这也是https方式的麻烦之处。而使用SSH url克隆却需要在克隆之前先配置和添加好SSH key,必须是这个项目的拥有者。否则你是无法添加SSH key的。另外ssh默认是每次fetch和push代码都不需要输入账号和密码,如果你想要每次都输入账号密码才能进行fetch和push也可以另外进行设置。

1.检查你电脑上是否有SSH Key

如果是第一次配置,当然是没有了。如果之前配置过,你没误删,那肯定是有。不过熟悉操作流程,你还是试一下吧。
在这里插入图片描述

2.创建SSH Key(如果你电脑上有了,你就可以直接跳过这一步)

请打开git bash,并键入命令:

ssh-keygen -t rsa -C “邮箱名”

按enter键后,会先告诉你生成的文件保存在哪,再按enter,会提示设置密码,
 然后他就会显示这两行

Generating public/private rsa key pair. 
Enter file in which to save the key (/c/Users/16627/.ssh/id_rsa):

这是让你输入一个文件名,用于保存刚才生成的 SSH key 代码。如果你不输入,直接回车,那么就会默认生成id_rsa和id_rsa.pub两个秘钥文件(如下提示)。

Created directory ‘/c/Users/16627/.ssh’.

紧接着又会提示你

Enter passphrase (empty for no passphrase): 
Enter same passphrase again:

接着又会提示你输入两次密码(该密码是你push文件的时候要输入的密码,而不是github管理者的密码),当然你还可以不输入密码,直接按回车。那么fetch和push的时候就不需要输入密码。

在这里插入图片描述

当你看到上面这段代码,那就说明你的 SSH key 已经创建成功,你可以看一下,现在文件是真的存在了。
 在这里插入图片描述

3.添加SSH Key到GitHub

复制全部内容,打开 GitHub 主页,左侧选择 SSH and GPG Keys, 点击 Add SSH Keys,然后输入名称,并将复制的内容粘贴过来,添加即可。
在这里插入图片描述
在这里插入图片描述
点击右上角新建一个SSH Key。
在这里插入图片描述
title随便给他起个名字就好。然后是key,这时候你要打开你刚才在电脑上的SSH key。刚才提示你建立的那段文字有SSH key的地址,按照地址找到你的文件,用记事本打开id_rsa.pub文件,全选其中的内容粘贴到网页的Key中即可。
在这里插入图片描述
在这里插入图片描述
然后你就会受到建立成功的邮件了。
在这里插入图片描述

4.测试一下该SSH key

在git Bash 中输入以下代码

$ ssh -T git@github.com
注意是git@github.com,不是你的邮箱。

然后会提示你:

The authenticity of host ‘github.com (192.30.255.112)’ can’t be established.
RSA key fingerprint is SHA256:nThbg6kXUpJWGl7E1IGOCspRomTxdCARLviKw6E5SY8.
Are you sure you want to continue connecting (yes/no)?

正常提示,你只需要YES就可以。如果你创建 SSH key 的时候设置了密码,接下来就会提示你输入密码,如果你没设置密码会提示你:

Warning: Permanently added ‘github.com,192.30.255.112’ (RSA) to the list of known hosts.
Hi “用户名”! You’ve successfully authenticated, but GitHub does not provide shell access.

如果用户名是正确的,你已经成功设置SSH密钥。如果你看到 “access denied” ,者表示拒绝访问,那么你就需要使用 https 去访问。

Logo

腾讯云面向开发者汇聚海量精品云计算使用和开发经验,营造开放的云计算技术生态圈。

更多推荐