一起学起来

Git-为github帐号添加SSH keys

2017-05-01  本文已影响314人  亦然args

今天整理一下关于git的初始配置,首先是如何创建并添加SSH keys。(以github为例)

1 什么是SSH keys

ssh keys是ssh中基于密匙的安全验证,你可以通过创建私人密匙和公用密匙的方式来完成ssh keys方式的ssh登陆验证,首先你必须为自己创建一对密匙,并把公用密匙放在需要访问的服务器上。如果你要连接到SSH服务器上,客户端软件就会向服务器发出请求,请求用你的密匙进行安全验证。

服务器收到请求之后,先在该服务器上你的主目录下寻找你的公用密匙,然后把它和你发送过来的公用密匙进行比较。如果两个密匙一致,服务器就用公用密匙加密“质询”(challenge)并把它发送给客户端软件。客户端软件收到“质询”之后就可以用你的私人密匙解密再把它发送给服务器。基于ssh keys的登陆验证方式可以避免假冒服务器的问题,因为假冒服务器获取不到你的密匙,它比基于用户名密码的口令方式更安全,但是需要的登陆时间也会更长。

简单的说,ssh keys会产生一对密匙,公用的那个放在服务器上,私有的那个放在客户端,你要通过SSH的方式链接到服务器,那么就要去匹配那个公匙,over。

2 怎么在本地创建SSH key

在使用git clone命令从github上同步github上的代码库时,如果使用SSH链接(也可以使用http),而你的SSH key没有添加到github帐号设置中,系统会报下面的错误:

Permission denied (publickey).

fatal: Could not read from remote repository.

Please make sure you have the correct access rights

and the repository exists.

为了解决这个问题,需要在本地创建SSH key,然后添加到github中,具体操作如下:

打开git bash,输入下面的命令

ssh-keygen -t rsa -C "邮箱"

接下来,系统提示文件保存位置,及id_rsa和id_rsa_pub,不用管他,连续按三个回车即可,这里如果设置了id_rsa和id_rsa_pub,后面在上传的时候会提示输入密码,很烦。

生成的SSH key文件保存在中~/.ssh/id_rsa.pub文件中,然后拷贝.ssh/id_rsa.pub文件内的所以内容,将它粘帖到github帐号管理中的添加SSH key界面中(注意要去掉空格和换行)。

打开github帐号管理中的添加SSH key界面的步骤如下:

1.登录github,打开setting

2 创建新的SSH keys

3 点击Add SSH key

在出现的界面中填写SSH key的名称,填一个你自己喜欢的名称即可,然后将上面拷贝的~/.ssh/id_rsa.pub文件内容粘帖到key一栏,在点击“add key”按钮就可以了。

添加过程github会提示你输入一次你的github密码,添加完成后再次执行git clone就可以成功克隆github上的代码库了。

至此,SSH keys的本地创建及添加到git就完成了,初始设置第一步get。

上一篇下一篇

猜你喜欢

热点阅读